今天改一個需求:
任務大廳需展示:任務列表 union 任務環節(任務下的多個環節)列表
雖是展示任務,還想展示任務下的第一個環節,和任務大廳的設計就匹配了
所以任務分組查詢,還要查詢出最小的環節
造了一個表和一些數據,做測試

mysql5.7之前,可以用子查詢
SELECT * FROM (SELECT * FROM class ORDER BY age DESC) r GROUP BY r.class_num ORDER BY r.age DESC;
5.7以后對排序的sql解析做了優化,子查詢中的排序是會被忽略的,改為如下:
SELECT * FROM ( SELECT * FROM class ORDER BY age DESC LIMIT 999999 ) r GROUP BY r.class_num ORDER BY r.age DESC;
備注:limit需要足夠大,大到能包括所有查詢的數據

