Mysql Group By与Order By一起使用,很多情况orderby是无效的
目标:查询表中最新时间的一整条记录。
如果只用max,只能查询出当前最新时间这个字段,其他字段值是不匹配的
试验一
SELECT * FROM t_task_metrics_detail GROUP BY metrics_id order by start_time desc
结果order by无效
试验二
SELECT B.start_time ,B.access_time ,B.metrics_id FROM
(SELECT * FROM t_task_metrics_detail order by start_time desc) B GROUP BY B.metrics_id;
先进性排序,然后groupby分组,结果也是无效的
试验三
SELECT start_time ,access_time ,metrics_id FROM t_task_metrics_detail WHERE start_time IN (SELECT max(start_time) FROM t_task_metrics_detail GROUP BY metrics_id);
结果生效,取出最新时间的一整条记录