mysql中多个字段中的最大值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中多个字段中的最大值相关的知识,希望对你有一定的参考价值。
一个表有6个字段
ID, Date1,Flag1,Date2,Flag2,Date3
给一个时间now,查询条件为(Date1>now&&Flag1!='N')||(Date2>now&&Flag2!='N')||Date3>now,如果这三个条件有超过一个满足,则选择最近的那个时间。查询结果为ID和满足条件的Date1或者Date2或者Date3
when ...then data2
when ...then data3
where
如何在Mysql取出来的结果中取最大值
文章目录
背景
在一个表,例如
log_order
表中,有两个常见字段,即create_time
与update_time
,现在我要获取两者中时间最大的那个应该如何获取呢
常见误区
正常搜索的话,大部分出来的都是MAX
函数,以为是要取字段中的最大值,也就是一整列中的最大值
其实不是!
我们需要的是, 多个值中的最大值!
百度以为你需要的👇
select max(create_time) from log_order
我们真正需要的👇
- 获取
create_time
最大值
select max(create_time) from log_order
- 获取
update_time
最大值
select max(update_time) from log_order
- 比较两者最大值, 再取最大值
解决办法
万能的Mysql其实早就已经预设好了这种处理方案,那就是
Greatest函数!
其实只需要一行SQL即可解决我们的问题select GREATEST(max(create_time),max(update_time)) from log_order
GREAT!
以上是关于mysql中多个字段中的最大值的主要内容,如果未能解决你的问题,请参考以下文章