mysql - 如何在 MYSQL 中使用 max(date)
问题描述
我在使用max(date)
where 子句时遇到问题。
我的表中有重复数据,并且某些数据没有任何重复值,我需要从每个重复值中选择最新数据,每当我在 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_id1
有一个重复的值我只需要从中选择最新的日期。
这是我的查询
SELECT name
FROM sample
GROUP BY user_id
WHERE date = max(date);
即使我使用 group by 和 order by,我仍然没有从每个重复值中获取最新日期。
但我有invalid function
任何帮助的错误将不胜感激。提前谢谢
解决方案
您可以尝试以下方法:
SELECT name
FROM sample
GROUP BY user_id
WHERE date = (SELECT MAX(date) FROM sample)
推荐阅读
- javascript - Wy 是我的表单提交事件监听器不工作
- c# - 无法使用 Uno 平台/UWP Head 登录到控制台
- r - 将声学索引应用于 R 中波对象列表的每个组件
- python - 多个 if 语句后的 else 语句
- swift - 低频率调用scrollViewDidScroll中的方法
- typescript - 我可以从 webpack 中获得清晰的输出吗?
- r - 数据表不允许我编辑单元格,设置了 `editable = 'cell'`
- bootstrap-4 - 为什么这些嵌套的 Bootstrap 行不起作用
- python - 如果嵌套列表包含整数,则查找嵌套列表的平均值
- r - 从 bash 调用 R 脚本时退出代码