国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 容城县| 灵台县| 石渠县| 福泉市| 大新县| 汕尾市| 道真| 汝阳县| 宁陕县| 习水县| 南澳县| 佛坪县| 同德县| 高青县| 南京市| 宽甸| 姜堰市| 大渡口区| 长岛县| 宽甸| 雷州市| 昌平区| 昭苏县| 永嘉县| 社会| 维西| 黑龙江省| 眉山市| 深泽县| 扎鲁特旗| 库车县| 苗栗县| 昭苏县| 宿迁市| 察隅县| 大竹县| 西乌| 奉新县| 鄱阳县| 铜鼓县| 油尖旺区|