我的表結構如下的Mysql按日期排序和group by結果不同
id parent last_date sub_type
----------------------------------
11 9 2017-02-28 1101
10 9 2016-08-26 1101
8 1 2017-02-20 1101
12 12 2016-08-31 1102
14 12 2016-12-20 1102
9 9 2016-12-31 1101
13 12 2017-03-23 1102
2 1 2017-01-25 1101
1 1 2016-12-31 1101
我想基於日期(最長的第一)各sub_type讀取行。我想下面的查詢
SELECT * FROM mytable GROUP BY sub_type ORDER BY ISNULL(last_date) DESC, last_date DESC
並且它導致
id parent last_date sub_type
--------------------------------
1 1 2016-12-31 1101
12 12 2016-08-31 1102
但我希望下面的結果。
id parent last_date sub_type
--------------------------------
13 12 2017-03-23 1102
11 9 2017-02-28 1101
請指導我以取得以上結果。
編輯:
LAST_DATE可能有NULL值將超過日最大項的優先級。這就是爲什麼我選擇ISNULL DESC命令。
'SELECT sub_type,MAX(last_date)FROM mytable GROUP BY sub_type'? –
'id'主鍵? –
如果存在多個空記錄會怎麼樣?您想要獲取哪張唱片? – Blank