我有一个这样的mysql表
+----------+----------+-------------------+
| entrykey | user_key | validfrom |
+----------+----------+-------------------+
| 1 | 3 | 2016-4-1 0:0:0.0 |
| 2 | 3 | 2016-12-1 0:0:0.0 |
| 3 | 2 | 2016-12-1 0:0:0.0 |
| 4 | 2 | 2016-3-1 0:0:0.0 |
+----------+----------+-------------------+
现在我试图只为每个用户获取 validfrom 是最新的行。所以我正在做这样的查询:
SELECT entrykey, user_key, max(validfrom)
FROM table
Group by user_key;
它几乎适用于我所有的数据,只是我在表中发布的这两个示例选择了错误的旧行。因此,对于 user_key 3,它选择 entrykey 1,对于 user_key 2,它选择 entrykey 4。
我做错了什么?
最佳答案
我猜validform
应该是2016-03-01
而不是2016-3-01
因为之前没有转换成date比较。
关于MYSQL - MAX() 返回错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46971081/