如何在Mysql取出来的结果中取最大值

Posted 但老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Mysql取出来的结果中取最大值相关的知识,希望对你有一定的参考价值。

文章目录

背景

在一个表,例如log_order表中,有两个常见字段,即create_timeupdate_time,现在我要获取两者中时间最大的那个应该如何获取呢


常见误区

正常搜索的话,大部分出来的都是MAX函数,以为是要取字段中的最大值,也就是一整列中的最大值
其实不是!
我们需要的是, 多个值中的最大值!

百度以为你需要的👇

select max(create_time) from log_order

我们真正需要的👇

  1. 获取create_time最大值
select max(create_time) from log_order
  1. 获取update_time最大值
select max(update_time) from log_order
  1. 比较两者最大值, 再取最大值
max_create_time > max_update_time ? max_create_time max_update_time

解决办法

万能的mysql其实早就已经预设好了这种处理方案,那就是

Greatest函数!

其实只需要一行SQL即可解决我们的问题
select GREATEST(max(create_time),max(update_time)) from log_order

GREAT!

以上是关于如何在Mysql取出来的结果中取最大值的主要内容,如果未能解决你的问题,请参考以下文章

nodejs操作mysql取出来的datatime与实际差8小时问题

将mysql中取出来的字符串转换成数组

ibatis中xml文件中sql语句如何把oracle中取出来的数据设为10条

求C语言程序,从1~2012中取k个数,取出的数中任意两个数之差不能为5或8,求k的最大值

python怎么从一堆数据中取数

使用php从mysql中取出文本如何自动添加超链接?