【发布时间】:2020-03-07 22:15:06
【问题描述】:
我在 where 子句中使用 max(date) 时遇到问题。
我的表中有重复数据,有些数据没有任何重复值,我需要从每个重复值中选择最新数据,每当我在 where 子句中使用 max(date) 时,我都有一个“无效功能”的错误
sample table
id user_id name date
1 1 Bob 2019-11-12 18:00:00
2 1 Alice 2019-11-12 16:15:15
3 2 Josh 2019-11-08 16:15:15
4 3 Dina 2019-11-09 16:15:15
5 4 Jena 2019-11-07 16:15:15
这是我的示例输出:
id user_id name date
1 1 Bob 2019-11-12 18:00:00
3 2 Josh 2019-11-08 16:15:15
4 3 Dina 2019-11-09 16:15:15
5 4 Jena 2019-11-07 16:15:15
所以它只有 4 个输出,因为 user_id 1 有一个重复的值,我只需要从中选择最新的日期。
这是我的查询
SELECT name
FROM sample
GROUP BY user_id
WHERE date = max(date);
即使我使用 group by 和 order by,我仍然无法从每个重复值中获取最新日期。
但我遇到了invalid function 的错误
任何帮助将非常感激。提前谢谢
【问题讨论】: