MySQL子查詢用法實(shí)例分析
本文實(shí)例講述了MySQL子查詢用法。分享給大家供大家參考,具體如下:
假設(shè)表my_tbl包含三個字段a,b,c;現(xiàn)在需要查詢表中列a的每個不同值下的列b為最小值的記錄量。
比如表記錄為:
a b c
1 3 'cd'
2 3 'nhd'
1 5 'bg'
2 6 'cds'
1 7 'kiy'
3 7 'vsd'
3 8 'ndf'
希望得到結(jié)果為:
a b c
1 3 'cd'
2 3 'nhd'
3 7 'vsd'
(1) 其中一個做法:先查出每個a值下的b最小值,然后根據(jù)這些最小值去查詢符合要求的所有記錄。
查詢符合最小b值的sql寫法如下:
由于是嵌套查詢和取交集,80萬條記錄情況下竟然用一個小時也沒把中間結(jié)果算出來(我真懷疑是自己哪里寫錯了);后面求記錄量就免談了。
(2) 上面的方法是個災(zāi)難, 只能棄用了。
具體邏輯為:先按列a,b分組,然后選擇每組中列b值最小的記錄,生成結(jié)果集。
sql語句寫法如下:
執(zhí)行查詢后,時間竟只用了1.1秒。
再一次證明,sql的查詢策略的不同能直接導(dǎo)致性能上的巨大差異。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關(guān)文章
Mysql中json類型數(shù)據(jù)查詢的實(shí)現(xiàn)
MySQL5.7開始支持JSON格式的數(shù)據(jù)類型,可以存儲和處理JSON類型的數(shù)據(jù),本文主要介紹一些關(guān)于json數(shù)據(jù)類型的查詢操作,具有一定的參考價值,感興趣的可以了解一下2023-10-10
MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式
當(dāng)將xls或xlsx文件轉(zhuǎn)換為CSV并導(dǎo)入數(shù)據(jù)庫時,可能出現(xiàn)亂碼,原因是編碼格式不是UTF-8,解決方法是使用Notepad或記事本打開CSV文件,所以本文給大家介紹了MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式,需要的朋友可以參考下2024-08-08
MySQL中因字段字符集不同導(dǎo)致索引不能命中的解決方法
這篇文章主要給大家介紹了關(guān)于MySQL中因字段字符集不同導(dǎo)致索引不能命中的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
MySQL數(shù)據(jù)庫超時設(shè)置配置的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫超時設(shè)置配置的相關(guān)資料,通過文中的設(shè)置方法可以很好的解決大家遇到的mysql數(shù)據(jù)庫超時問題,需要的朋友可以參考下2021-10-10
銀河麒麟V10安裝MySQL8.0.28并實(shí)現(xiàn)遠(yuǎn)程訪問
這篇文章主要介紹了銀河麒麟V10安裝MySQL8028的圖文教程,并詳細(xì)介紹了遠(yuǎn)程訪問的實(shí)現(xiàn)方法,本文通過圖文命令給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02

