在几个领域有几个日期,基本上是
SELECT MAX(MAX(DATE_A),MAX(DATE_B)) from table
DATE_A和DATE_B是日期,我基本上想要日期A或日期B的最新日期的最大值
我在网上搜索但是max作为关键字让我很难找到我正在寻找的内容
答案 0 :(得分:3)
SELECT MAX(GREATEST(date_a,date_b)) FROM table
首先使用GREATEST(date_a,date_b)
将这两列简化为一列,每行包含最大值。
MAX
然后选择所有这些的最大值。
它还可以防止重复评估MAX
,使事情变得更有效率。
GREATEST
documentation,MAX
documentation。
请注意,GREATEST
跨列操作,而MAX
跨行操作,这就是为什么您需要同时使用它们来获取跨行和列的单个最大值。
答案 1 :(得分:2)
select greatest(date_a,date_b) as recent from table
答案 2 :(得分:0)
试试这个
SELECT IF(MAX(DATE_A)>MAX(DATE_B),MAX(DATE_A), MAX(DATE_B)) FROM table