今天朋友問我一個sql查詢。
需求是 找到idapi最近那條數據,說明idapi 是重復的,於是就簡單的寫了
SELECT * FROM `ag_alarm_history` group by `idApi` order by `createTime` desc
發現結果不對
於是 網上查閱資料得到
group by order by 連用 無效 可以使用一下的替換
SELECT `idAlarmHistory`, SUBSTRING_INDEX( group_concat( `idApi` ORDER BY `createTime` DESC ), ',', 1 ) AS priCommodityID, SUBSTRING_INDEX( group_concat( `createTime` ORDER BY `createTime` DESC ), ',', 1 ) AS createDate FROM ag_alarm_history WHERE 1 GROUP BY `idApi`;
轉載一篇詳細的文章
https://www.cnblogs.com/devzxd/p/mysql-groupby-orderby.html