国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL子查詢用法實(shí)例分析

2024-07-24 13:09:12
字體:
供稿:網(wǎng)友
這篇文章主要介紹了MySQL子查詢用法,結(jié)合實(shí)例形式對(duì)比分析了MySQL子查詢的設(shè)置技巧,需要的朋友可以參考下
 

本文實(shí)例講述了MySQL子查詢用法。分享給大家供大家參考,具體如下:

假設(shè)表my_tbl包含三個(gè)字段a,b,c;現(xiàn)在需要查詢表中列a的每個(gè)不同值下的列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) 其中一個(gè)做法:先查出每個(gè)a值下的b最小值,然后根據(jù)這些最小值去查詢符合要求的所有記錄。

查詢符合最小b值的sql寫法如下:

復(fù)制代碼代碼如下:
select A.* from my_tbl as A where A.b=(select min(b) from my_tbl as B where B.a=A.a);

 

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

(2) 上面的方法是個(gè)災(zāi)難, 只能棄用了。

具體邏輯為:先按列a,b分組,然后選擇每組中列b值最小的記錄,生成結(jié)果集。

sql語句寫法如下:

復(fù)制代碼代碼如下:
select a,b,c,count(a) from (select a,b,c from my_tbl group by a,b) as A group by a;

 

執(zhí)行查詢后,時(shí)間竟只用了1.1秒。

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



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MYSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广汉市| 新泰市| 琼中| 清丰县| 漠河县| 介休市| 冀州市| 镇宁| 湖南省| 屏东县| 苏尼特右旗| 靖宇县| 莱芜市| 集贤县| 昭苏县| 北流市| 高雄市| 文化| 嘉义市| 泗水县| 同心县| 思茅市| 新密市| 周宁县| 久治县| 民权县| 贡觉县| 岳西县| 蓬莱市| 天峨县| 高淳县| 湟中县| 泽普县| 辰溪县| 新田县| 招远市| 黑水县| 马边| 连山| 东光县| 定陶县|