MySQL从多列中选择最新的

时间:2018-05-01 14:03:58

标签: mysql nested-select

我有一个包含多个日期列的表,以下是我的表列的示例:tbl.user_idtbl.date_1tbl.date_2tbl.date_3

我需要提出一个返回user_idmost_recent_date的查询,其中大多数most_recent_date是date_1,date_2和date_3之间的最新日期。我想我需要一个嵌套的选择,但我无法解决它的逻辑。我希望有人能指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

您是否尝试过Greatest()函数?

这是一个简单的例子:

SELECT
    userId,
    greatest(dt1, dt2, dt3)
FROM testTbl;

您可能已经尝试过Max()函数,就像在大多数编程语言中一样。但是,在SQL中,Max是一个聚合函数。您只能在其中指定一个字段,它将返回该列中的最大值,并根据您的GROUP BY分组进行分组。

mySQL中的Greatest()函数相当于大多数其他语言的Max()函数。