SQL?Group?By分組后如何選取每組最新的一條數(shù)據(jù)
Group By分組后選取每組最新的一條數(shù)據(jù)
問題
group by語句只會展示一條數(shù)據(jù),而且很多時(shí)候并不會展示我們想要的數(shù)據(jù),如何解決呢
首先我們先建一張表 temp,如下
我們先試一下分組查詢,看看結(jié)果
SELECT * FROM `temp` GROUP BY address
結(jié)果如下:
它默認(rèn)是取的id最小的那一條數(shù)據(jù),如果想要取最新的一條呢,我們試試先排序再分組
SELECT * FROM (SELECT * FROM `temp` ORDER BY `create_time` desc) AS t GROUP BY t.`address`
看看結(jié)果:
發(fā)現(xiàn)結(jié)果沒變,就像排序好像沒生效一樣,下面有兩種解決方法
方法一:加limit關(guān)鍵字
SELECT * FROM (SELECT * FROM `temp` ORDER BY `create_time` desc limit 100) AS t GROUP BY t.`address`
現(xiàn)在結(jié)果就是我們想要的了
但是limit關(guān)鍵字,有時(shí)候可能不好限制范圍,如果你想查所有的數(shù)據(jù)呢,難道要單獨(dú)查一下有多少條數(shù)據(jù),再limit嗎,好像顯得不太專業(yè),所以下面有方法二
方法二:用max函數(shù)
SELECT t1.* FROM `temp` t1, ( SELECT MAX( id ) id FROM `temp` GROUP BY address ) AS t2 WHERE t1.id = t2.id
這種事先將每個(gè)分組最大的id取出來,再拼接數(shù)據(jù),也能達(dá)到一樣的效果,結(jié)果如下:
如果你不想取最新的,想取中間某個(gè)范圍的,還能加where條件
SELECT t1.* FROM `temp` t1, ( SELECT MAX( id ) id FROM `temp` WHERE create_time < '2022-08-16' GROUP BY address ) AS t2 WHERE t1.id = t2.id
結(jié)果如下:
好啦,問題解決了
總結(jié)
到此這篇關(guān)于SQL Group By分組后如何選取每組最新的一條數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Group By分組選取最新數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql通過group?by分組取最大時(shí)間對應(yīng)數(shù)據(jù)的兩種有效方法
- python?DataFrame數(shù)據(jù)分組統(tǒng)計(jì)groupby()函數(shù)的使用
- MySQL數(shù)據(jù)庫分組查詢group by語句詳解
- pandas數(shù)據(jù)分組groupby()和統(tǒng)計(jì)函數(shù)agg()的使用
- 基于mysql實(shí)現(xiàn)group by取各分組最新一條數(shù)據(jù)
- 利用Pandas和Numpy按時(shí)間戳將數(shù)據(jù)以Groupby方式分組
- Sql group by 分組取時(shí)間最新的一條數(shù)據(jù)(示例代碼)
相關(guān)文章
Mysql樹形結(jié)構(gòu)的數(shù)據(jù)庫表設(shè)計(jì)方案
樹形結(jié)構(gòu)對大家來說應(yīng)該都不陌生,在日常開發(fā)中經(jīng)常會遇到,下面這篇文章主要給大家介紹了關(guān)于Mysql樹形結(jié)構(gòu)的數(shù)據(jù)庫表設(shè)計(jì)的相關(guān)資料,文中通過示例代碼的非常詳細(xì),需要的朋友可以參考下2021-09-09MySQL隱式類型轉(zhuǎn)換導(dǎo)致索引失效的解決
本文主要介紹了MySQL隱式類型轉(zhuǎn)換導(dǎo)致索引失效的解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08windows下MySQL5.6版本安裝及配置過程附有截圖和詳細(xì)說明
這篇文章主要介紹了windows下MySQL5.6版本安裝及配置過程附有截圖和詳細(xì)說明,需要的朋友可以參考下2013-06-06MySQL之導(dǎo)出整個(gè)及單個(gè)表數(shù)據(jù)的操作
這篇文章主要介紹了MySQL之導(dǎo)出整個(gè)及單個(gè)表數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11在MySQL?8.0版本中開啟遠(yuǎn)程登錄詳細(xì)的操作步驟
有時(shí)數(shù)據(jù)庫所在機(jī)器與項(xiàng)目運(yùn)行的機(jī)器不是同一個(gè),那么就涉及到遠(yuǎn)程鏈接數(shù)據(jù)庫了,下面這篇文章主要給大家介紹了關(guān)于在MySQL?8.0版本中開啟遠(yuǎn)程登錄詳細(xì)的操作步驟,需要的朋友可以參考下2024-04-04mysql 實(shí)現(xiàn)添加時(shí)間自動添加更新時(shí)間自動更新操作
這篇文章主要介紹了mysql 實(shí)現(xiàn)添加時(shí)間自動添加更新時(shí)間自動更新操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01最新版MySQL 8.0.22下載安裝超詳細(xì)教程(Windows 64位)
這篇文章主要介紹了最新版MySQL 8.0.22下載安裝超詳細(xì)教程(Windows 64位),本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12