MySQL如何用GROUP BY分組取字段最大值或最新一條
MySQL用GROUP BY分組取字段最大值或最新一條
其他數(shù)據(jù)還是按排序取,只有指定字段獲取到最大值
SELECT id, max(operat_time) FROM tb GROUP BY id;
其他數(shù)據(jù)還是按排序取,只有指定字段獲取到最小值
SELECT id, min(operat_time) FROM tb GROUP BY id;
按操作用戶uid分組查最新一條操作記錄
select * from (select * from tb order by operat_time desc) as a group by a.uid
MySQL group by 分組 取最大值,百萬數(shù)據(jù)查詢0.8s- 1s
group by 分組 取最大值
網(wǎng)上查詢的方法
我們想要取出來 u_id分組,z值最大的每一條數(shù)據(jù)。
我只是篩選了u_id = 1 的數(shù)據(jù),此時id為2 的這列數(shù)據(jù)為最大的數(shù)據(jù)
方法一:
. select id,url,z from ( select * from show_video order by z desc ) t group by t.u_id
方法一的結(jié)果不是我們想要的數(shù)據(jù)。
此時的數(shù)據(jù) 為 1 用戶的 id為1的數(shù)據(jù)。 結(jié)果是不可取的。
方法二:
select a.id,a.z,a.u_id from show_video a inner join (select u_id,max(z) score from show_video group by u_id)b on a. u_id=b.u_id and a.z = b.score GROUP BY u_id
這個方法查詢出來的結(jié)果是OK的。
時間在0.810s - 0.914s之間。
注意
方法一:
- 查詢 group by 分組之后又默認的id排序機制。
- 導致的出來數(shù)據(jù)不是我們分組所需要的數(shù)據(jù)。
方法二:
查詢的效率還可以,如果大家有什么意見和建議,可以提出來,不知道這種方式是不是最優(yōu)的,一起學習實踐。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexiste
這篇文章主要給大家介紹了關(guān)于MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexistentdb‘的簡單解決辦法,這個錯誤通常是由于連接的數(shù)據(jù)庫不存在導致的,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07linux系統(tǒng)下實現(xiàn)mysql熱備份詳細步驟(mysql主從復制)
這篇文章主要介紹了linux系統(tǒng)下實現(xiàn)MySQL主從熱備份2013-12-12MySQL按天分組統(tǒng)計一定時間內(nèi)的數(shù)據(jù)實例(沒有數(shù)據(jù)補0)
我們在用Mysql制作數(shù)據(jù)可視化圖表時候,經(jīng)常需要按照天對數(shù)據(jù)進行分組統(tǒng)計,下面這篇文章主要給大家介紹了關(guān)于MySQL按天分組統(tǒng)計一定時間內(nèi)的數(shù)據(jù),沒有數(shù)據(jù)補0的相關(guān)資料,需要的朋友可以參考下2023-03-03解決mysql連接錯誤errorCode 0,state 08S01
這篇文章主要介紹了解決mysql連接錯誤errorCode 0,state 08S01,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05MySQL主從配置及haproxy和keepalived搭建過程解析
這篇文章主要介紹了MySQL主從配置及haproxy和keepalived搭建,本次運行環(huán)境是在docker中,也會介紹一些docker的知識,需要的朋友可以參考下2022-05-05