亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【mysql】關于子查詢的一個例子

系統 2418 0
假設表my_tbl包含三個字段a,b,c;現在需要查詢表中列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'

希望得到結果為:
a ?b ?c
1 ?3 ?'cd'
2 ?3 ?'nhd'
3 ?7 ?'vsd'

(1)
其中一個做法:先查出每個a值下的b最小值,然后根據這些最小值去查詢符合要求的所有記錄。
查詢符合最小b值的sql寫法如下:
select A.* from my_tbl as A where A.b=(select min(b) from my_tbl as B where B.a=A.a);

由于是嵌套查詢和取交集,80萬條記錄情況下竟然用一個小時也沒把中間結果算出來(我真懷疑是自己哪里寫錯了);后面求記錄量就免談了。

(2)
上面的方法是個災難, 只能棄用了。
具體邏輯為:先按列a,b分組,然后選擇每組中列b值最小的記錄,生成結果集。
sql語句寫法如下:
select? a,b,c,count(a)? from (select a,b,c from my_tbl group by a,b) as A group by a;

執行查詢后,時間竟只用了1.1秒。


再一次證明,sql的查詢策略的不同能直接導致性能上的巨大差異。

?

【mysql】關于子查詢的一個例子


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产51自产区| 午夜欧美在线 | 青草香蕉精品视频在线观看 | 欧美日韩国产58香蕉在线视频 | 99热久久精品免费精品 | 欧美一级毛片欧美一级无片 | 99精品热线在线观看免费视频 | 亚洲高清在线观看看片 | 综合久久久久综合 | 四虎影视免费观看免费观看 | 手机看片自拍日韩日韩高清 | 草莓视频一区二区精品 | 18p爽视频在线观看免费 | 国产一区免费视频 | 日本一区二区三区在线播放 | 人人爱天天做夜夜爽88 | 青青久草 | 国产精品自在线拍国产 | 国产99欧美精品久久精品久久 | 欧美一级欧美三级在线观看 | 欧美japanese孕交 | 国产精品综合一区二区 | 色综合久久久久久久久久久 | 久久国产免费福利资源网站 | 黄色毛片免费在线观看 | 中文字幕国产 | 神马午夜剧场 | 欧美 亚洲 激情 | 国内精品久久久久影院蜜芽 | 久久久99精品久久久久久 | 最近中文字幕在线 | 中文 | 欧美日韩久久毛片 | 在线国产一区二区 | 国产亚洲欧美日韩v在线 | 成人欧美精品一区二区不卡 | 欧美一级毛片不卡免费观看 | 青青青国产手机免费视频 | 中国一级全黄的免费观看 | 99热久久这里只有精品6国产网 | 九九爱国产 | 国内精品一区视频在线播放 |