日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql降序后去重_Mysql 数据记录去重后按字段排序

發(fā)布時間:2024/8/23 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql降序后去重_Mysql 数据记录去重后按字段排序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

實現(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。