mysql降序后去重_Mysql 数据记录去重后按字段排序
實現(xiàn)效果:去重—取最新的—排序
例子 : 按用戶ID獲取歷史記錄中某個人的記錄,要求非重復(fù)的且每條只獲取最新的,同時按添加時間倒序排列的
實現(xiàn) :SELECT *
FROM (
SELECT *
FROM historys
WHERE types_id=1
ORDER BY `created` DESC
) AS B
GROUP BY B.data_id
order by B.created DESC
之前在做一個視頻的歷史播放記錄時遇到了去重后倒序排序的功能需求
然后直接寫了
SELECT H.*
FROM `historys` AS H
WHERE H.`users_id` = '259' AND H.`types_id` = 1
GROUP BY H.`data_id`
ORDER BY H.`id` ASC
本來以為沒問題,結(jié)果后來檢查時發(fā)現(xiàn)是有分組了(實現(xiàn)了去重),但沒有把最新的歷史記錄排在前面
如圖,分組了,也倒序排序了,但是獲取的記錄并不是 data_id 的最新的那條
需要的真實順序應(yīng)該是24、23、29、30。。。
sql語句修改為SELECT A.*
FROM (
SELECT H.*
FROM `historys` AS H
WHERE H.`users_id` = '259' AND H.`types_id` = 1
ORDER BY H.`id` DESC
) AS A
GROUP BY A.data_id
ORDER BY A.id DESC
結(jié)果為
這才是正確的結(jié)果
本文由【waitig】發(fā)表在等英博客 本文固定鏈接:Mysql 數(shù)據(jù)記錄去重后按字段排序 歡迎關(guān)注本站官方公眾號,每日都有干貨分享!
點贊 (0)賞分享 (0)
總結(jié)
以上是生活随笔為你收集整理的mysql降序后去重_Mysql 数据记录去重后按字段排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 分享到豆瓣,Androi
- 下一篇: mac os 开启redis_关于Red