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

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

系統 2811 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條評論
主站蜘蛛池模板: 亚洲一区视频 | 特黄aa级毛片免费视频播放 | 欧美成人三级一区二区在线观看 | 日本成本人在线观看免费视频 | 亚洲爱v| 韩国欧美一级毛片免费 | 天天夜碰日日摸日日澡 | 日本精品中文字幕在线不卡 | 亚洲精品久久成人福利 | japanese乱子另类 | 97久久国语露脸精品对白 | 国产精品视频免费一区二区三区 | 精品一区二区三区中文字幕 | 第一福利影院 | 九九伦理影院手机观看 | 四虎成年永久免费网站 | 精品久久久久亚洲 | 五月婷亚洲 | 成人欧美视频在线观看播放 | 欧美日韩在线观看区一二 | 337p日本欧洲亚洲大胆艺术 | 久久99久久99精品免观看不卡 | 蜜月tv| 一级女性全黄生活片看看 | 成人一a毛片免费视频 | 国产精品手机视频 | 91在线视屏 | 久久996国产精品免费 | 97人人在线视频 | 成人手机看片 | 亚洲最大视频网站 | 亚洲欧美日韩第一页 | 国产精品欧美亚洲韩国日本不卡 | 久久国产精品亚洲77777 | 九九视频精品全部免费播放 | 国产婷婷一区二区三区 | 欧美不卡一区 | 日日摸夜夜嗷嗷叫日日拍 | 国产亚洲精品视频中文字幕 | 夜色99| 黄色四虎影院 |