欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統 2494 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條評論
主站蜘蛛池模板: 国产麻豆剧传媒精品网站 | 99je全部都是精品视频在线 | 亚洲国产精品久久久 | 欧美激情久久久久久久久 | 免费香蕉视频 | 国产午夜精品一区二区三区 | www视频在线观看 | 最新中文字幕 | 91视频国内 | 国产成人视屏 | 亚洲 欧美 日韩 在线 香蕉 | 天天干天天插天天操 | 国产在线二区 | 一级片性 | 91丨九色丨首页在线观看 | 色综合久久天天综合观看 | 国产乱码精品一区二区三区中 | 日韩有码在线播放 | 成人在线日韩 | 中国大陆高清aⅴ毛片 | 艹逼 | 26uuu天天夜夜综合 | 午夜精品亚洲 | 国产婷婷 | 日韩免费电影 | 色综合久久天天综合绕观看 | 99这里只有精品6 | 在线观看毛片视频 | 国产美女久久 | 成人黄色网战 | 日韩av一区二区三区在线 | 日韩中文字幕免费在线观看 | 国产精品二区三区 | 五月天婷婷网站 | 色婷婷久久免费网站 | 久久久蜜桃 | 国产一级做a爰片在线 | 欧美日韩欧美日韩 | 精品无人乱码一区二区三区 | 欧美怡红院 | 成在线人免费视频一区二区三区 |