色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

關(guān)于Mysql子查詢的三個(gè)應(yīng)用場(chǎng)景

瀏覽:4日期:2023-07-20 19:52:12

應(yīng)用場(chǎng)景

一個(gè)select語(yǔ)句的查詢結(jié)果能夠作為另一個(gè)語(yǔ)句的輸入值,主要有三種情況,分別為:

1.子查詢可以出現(xiàn)在Where子句中,作為過(guò)濾條件

select 列名from 表名where 列 操作符 (select 列名 from 表名)

2.也可以出現(xiàn)在from子句中,作為一個(gè)臨時(shí)表使用

select 列名from (select 列名 from 表名)

3.能夠出現(xiàn)在select list中,作為一個(gè)字段值來(lái)返回

select 列名,(select 列名 from 表名)from 表名where 列 操作符?????

注意事項(xiàng):

子查詢只能有一個(gè)字段的情況子查詢?cè)趕elect上面,一定是只能一個(gè)字段;如果超過(guò)一個(gè)字段,代碼會(huì)報(bào)錯(cuò)子查詢?cè)趙here后面,當(dāng)做一個(gè)過(guò)濾條件,這個(gè)字段也必須有且只有一個(gè)可以有多個(gè)字段的情況當(dāng)子查詢?cè)趂rom后面,是可以有多個(gè)字段的,因?yàn)樗褪且粡埍恚蛔⒁猓鹤硬樵冊(cè)趂rom后面做臨時(shí)表來(lái)用,必須給子查詢生成的臨時(shí)表取別名,否則會(huì)報(bào)錯(cuò)時(shí)間型字符,在 where 過(guò)濾如果是常量,需要用''; 數(shù)字則不需要子查詢中,表是可以不一樣的

???????子查詢?cè)赪here中作過(guò)濾條件

2017年7月2號(hào)統(tǒng)計(jì)累計(jì)購(gòu)買金額在100到200的會(huì)員,尋找這批會(huì)員的消費(fèi)記錄

先找出當(dāng)日累計(jì)購(gòu)買金額在100-200之間的會(huì)員 用having來(lái)篩選用查找出來(lái)的會(huì)員做過(guò)濾條件,查找消費(fèi)記錄-- 先找出當(dāng)日累計(jì)購(gòu)買金額在100-200之間的會(huì)員SELECT dimMemberID ,SUM(AMT) as moneyFROM dw.fct_saleswhere dimDateID ='20170702'and dimMemberID <> 0group by dimMemberID-- having sum(AMT)>100 and sum(AMT)<200;having money BETWEEN 100 and 200;-- 用查找出來(lái)的會(huì)員做過(guò)濾條件,查找消費(fèi)記錄SELECT *FROM dw.fct_saleswhere dimDateID = '20170702'and dimMemberID <>0and dimMemberID in ( SELECT dimMemberID-- ,SUM(AMT) as money 子查詢?cè)趙here后面,當(dāng)做一個(gè)過(guò)濾條件,這個(gè)字段也必須有且只有一個(gè),所以最后結(jié)果要返回過(guò)濾條件 FROM dw.fct_sales where dimDateID ='20170702' and dimMemberID <> 0 group by dimMemberID having sum(AMT)>100 and sum(AMT)<200); -- having money BETWEEN 100 and 200 ); 不能直接用命名的列名money,要寫全函數(shù),因?yàn)榍懊嬲Z(yǔ)句沒(méi)有出現(xiàn)money,所以為了避免報(bào)錯(cuò),之后盡量寫全函數(shù)

子查詢?cè)趂rom中做臨時(shí)表

2017年7月2日對(duì)每位會(huì)員累計(jì)購(gòu)買金額進(jìn)行分段

統(tǒng)計(jì)2017年7月2日每位會(huì)員的累計(jì)購(gòu)買金額把第一步統(tǒng)計(jì)出來(lái)的數(shù)據(jù)作為臨時(shí)表,對(duì)統(tǒng)計(jì)出來(lái)的數(shù)據(jù)進(jìn)行分組-- 1、統(tǒng)計(jì)2017年7月2日每位會(huì)員的累計(jì)購(gòu)買金額SELECT dimMemberID ,SUM(AMT) as money FROM dw.fct_saleswhere dimDateID = '20170702'and dimMemberID <> 0group by dimMemberID ;-- 2、把第一步統(tǒng)計(jì)出來(lái)的數(shù)據(jù)作為臨時(shí)表,對(duì)統(tǒng)計(jì)出來(lái)的數(shù)據(jù)進(jìn)行分段SELECT dimMemberID ,money ,case when money <100 then 'D' when money >=100 and money <500 then 'C' when money >=500 and money <1000 then 'B' when money >=1000 then 'A' else '其它' end as type1FROM (SELECT dimMemberID /*臨時(shí)表可以生成多個(gè)字段,并不是每個(gè)字段都需要用也行*/ ,SUM(AMT) as money FROM dw.fct_sales where dimDateID = '20170702' and dimMemberID <> 0 group by dimMemberID) as sn; /*子查詢?cè)趂rom后面做臨時(shí)表來(lái)用,必須給這個(gè)子查詢生成的臨時(shí)表取一個(gè)表的別名,否則會(huì)報(bào)錯(cuò)*/

子查詢?cè)趕elect作為一個(gè)字段來(lái)返回

2017年7月2日計(jì)算每個(gè)會(huì)員購(gòu)買金額,以及每個(gè)會(huì)員購(gòu)買金額占總體金額的比

2017年7月2日每個(gè)會(huì)員購(gòu)買金額總體金額合并兩個(gè)表

注意:在合并時(shí)where的條件要寫全,不要遺漏,不然容易出現(xiàn)邏輯錯(cuò)誤

-- 1、2017年7月2日每個(gè)會(huì)員購(gòu)買金額SELECT dimMemberID ,SUM(AMT) as moneyFROM dw.fct_saleswhere dimDateID = '20170702'and dimMemberID <>0 /*去除非會(huì)員,即 dimMemberID 為 0 的數(shù)據(jù)*/group by dimMemberID ;-- 2、總體金額SELECT SUM(AMT) FROM dw.fct_saleswhere dimDateID = '20170702';-- 3、合并兩個(gè)表 注意在合并時(shí)where的條件要寫全,不要遺漏,不然容易出現(xiàn)邏輯錯(cuò)誤SELECT dimMemberID ,SUM(AMT) as money ,(SELECT SUM(AMT)/*統(tǒng)計(jì)總金額*/FROM dw.fct_saleswhere dimDateID = '20170702'and dimMemberID<>0) as total_money ,CONCAT( /*加上%號(hào)*/ ROUND( /*四舍五入保留4位小數(shù),帶%一定要思考保留小數(shù)位數(shù)*/ SUM(AMT)/(SELECT SUM(AMT) FROM dw.fct_sales where dimDateID = '20170702' and dimMemberID<>0),4)*100,'%')as member_rate /*合并表,統(tǒng)計(jì)占比*/FROM dw.fct_saleswhere dimDateID = '20170702'and dimMemberID <>0 /*去除非會(huì)員,即 dimMemberID 為 0 的數(shù)據(jù)*/group by dimMemberID ;

到此這篇關(guān)于關(guān)于Mysql子查詢的三個(gè)應(yīng)用場(chǎng)景的文章就介紹到這了,更多相關(guān)Mysql子查詢應(yīng)用場(chǎng)景內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 经典香港一级a毛片免费看 精品400部自拍视频在线播放 | 国产欧美日韩视频在线观看一区二区 | 久久久久久91 | 国产欧美一区二区精品久久久 | 午夜性刺激免费视频 | 高清精品一区二区三区一区 | 日本一区二区高清不卡 | 97青青草原国产免费观看 | 玖玖玖精品视频免费播放 | 久久伊人操 | 欧美理论片在线观看一区二区 | 国产精品久久毛片蜜月 | 久久院线 | 亚洲三级小视频 | 午夜黄色福利视频 | 国产精品成人观看视频免费 | 亚洲欧美极品 | 一级毛片一级毛片一级毛片 | 欧美xxxxx九色视频免费观看 | 91欧美视频 | 日韩亚洲综合精品国产 | 欧美一级毛片欧美一级成人毛片 | 日本道在线播放 | 国产精品视_精品国产免费 国产精品视频久 | 国产成人毛片毛片久久网 | 久久精品国内偷自一区 | 国产美女一区二区在线观看 | 亚洲精品国产第一区二区三区 | 男女国产视频 | 国产一区二区三区视频在线观看 | 欧美xxx精品 | 免费视频成人 | 蜜桃日本一道无卡不码高清 | 亚洲视频在线观看免费 | 黄色免费在线观看视频 | 日本在线看小视频网址 | 中国黄色一级毛片 | 免费观看国产网址你懂的 | 亚洲免费在线视频观看 | 成人www视频网站免费观看 | 亚洲码一区二区三区 |