如何获得按最大列排序并按ID分组的行列表?我始终得到正确的最大值,但其他字段是从其他行获得的。MySQL:MAX不返回
我使用了以下内容:
SELECT p.*
FROM `logs` AS p
JOIN
(SELECT person_id,
MAX(`datetime`) AS datetime
FROM `logs`
GROUP BY `person_id`
) AS pg
ON pg.person_id = p.person_id
AND pg.`datetime` = p.datetime
group by person_id
哪里是我的查询错了吗?日期时间和人员ID总是正确的,但其他字段不是。
这是错误的,因为你是一个聚集函数之外选择字段,你没有通过分组。 http://dev.mysql.com/doc/refman/5.6/en/group-by-hidden-columns.html – 2012-07-19 00:05:52
你会怎么做? – luqita 2012-07-19 00:31:25