亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

sql中的 where 、group by 和 having 用法解析

2024-08-31 01:04:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

廢話(huà)不多說(shuō)了,直接給大家貼代碼了,具體代碼如下所示:

--sql中的 where 、group by 和 having 用法解析--如果要用到group by 一般用到的就是“每這個(gè)字” 例如說(shuō)明現(xiàn)在有一個(gè)這樣的表:每個(gè)部門(mén)有多少人 就要用到分組的技術(shù)select DepartmentID as '部門(mén)名稱(chēng)',COUNT(*) as '個(gè)數(shù)' from BasicDepartment group by DepartmentID--這個(gè)就是使用了group by +字段 進(jìn)行了分組,其中我們就可以理解為我們按照了部門(mén)的名稱(chēng)ID--DepartmentID將數(shù)據(jù)集進(jìn)行了分組;然后再進(jìn)行各個(gè)組的統(tǒng)計(jì)數(shù)據(jù)分別有多少;--如果不用count(*) 而用類(lèi)似下面的語(yǔ)法select DepartmentID,DepartmentName from BasicDepartment group by DepartmentID--將會(huì)出現(xiàn)錯(cuò)誤--選擇列表中的列 'BasicDepartment.DepartmentName' 無(wú)效,因?yàn)樵摿袥](méi)有包含在聚合函數(shù)或 GROUP BY 子句中。  這就是我們需要注意的一點(diǎn),如果在返回集字段中,這些字段  要么就要包含在Group By語(yǔ)句的后面,作為分組的依據(jù);  要么就要被包含在聚合函數(shù)中,作為分組的依據(jù);--出現(xiàn)的錯(cuò)誤詳解:咱們看看group by 的執(zhí)行的過(guò)程,先執(zhí)行select 的操作返回一個(gè)程序集,--然后去執(zhí)行分組的操作,這時(shí)候他將根據(jù)group by 后面的字段--進(jìn)行分組,并且將相同的字段并稱(chēng)一列數(shù)據(jù),如果group by 后面沒(méi)有這個(gè)字段的話(huà)就要分成好多的數(shù)據(jù)。--但是分組就只能將相同的數(shù)據(jù)分成兩列數(shù)據(jù),而一列中又只能放入一個(gè)字段,所以那些沒(méi)有進(jìn)行分組的--數(shù)據(jù)系統(tǒng)不知道將數(shù)據(jù)放入哪里,所以就出現(xiàn)此錯(cuò)誤--目前一種分組情況只有一條記錄,一個(gè)數(shù)據(jù)格是無(wú)法放入多個(gè)數(shù)值的,--所以這里就需要通過(guò)一定的處理將這些多值的列轉(zhuǎn)化成單值,然后將其放在對(duì)應(yīng)的--數(shù)據(jù)格中,那么完成這個(gè)步驟的就是聚合函數(shù)。這就是為什么這些函數(shù)叫聚合函數(shù)(aggregate functions)了--group by all語(yǔ)法解析:--如果使用 ALL 關(guān)鍵字,那么查詢(xún)結(jié)果將包括由 GROUP BY 子句產(chǎn)生的所有組,即使某些組沒(méi)有符合搜索條件的行。--沒(méi)有 ALL 關(guān)鍵字,包含 GROUP BY 子句的 SELECT 語(yǔ)句將不顯示沒(méi)有符合條件的行的組。select DepartmentID,DepartmentName as '部門(mén)名稱(chēng)',COUNT(*) as '個(gè)數(shù)' from BasicDepartment group by all DepartmentID,DepartmentName==========================================================================================================--group by 和having 解釋?zhuān)呵疤岜仨毩私鈙ql語(yǔ)言中一種特殊的函數(shù):聚合函數(shù),例如SUM, COUNT, MAX, AVG等。這些函數(shù)和其它函數(shù)的根本區(qū)別就是它們一般作用在多條記錄上。having是分組(group by)后的篩選條件,分組后的數(shù)據(jù)組內(nèi)再篩選where則是在分組前篩選where子句中不能使用聚集函數(shù),而having子句中可以,所以在集合函數(shù)中加上了HAVING來(lái)起到測(cè)試查詢(xún)結(jié)果是否符合條件的作用。即having子句的適用場(chǎng)景是可以使用聚合函數(shù)having 子句限制的是組,而不是行having 子句中的每一個(gè)元素也必須出現(xiàn)在select列表中。有些數(shù)據(jù)庫(kù)例外,如oracle當(dāng)同時(shí)含有 where 子句、group by 子句 、having 子句及聚集函數(shù)時(shí),執(zhí)行順序如下:執(zhí)行where子句查找符合條件的數(shù)據(jù);使用group by 子句對(duì)數(shù)據(jù)進(jìn)行分組;對(duì)group by 子句形成的組運(yùn)行聚集函數(shù)計(jì)算每一組的值;最后用having 子句去掉不符合條件的組  ex:  顯示每個(gè)地區(qū)的總?cè)丝跀?shù)和總面積.僅顯示那些面積超過(guò)1000000的地區(qū)。     SELECT region, SUM(population), SUM(area)    FROM bbc    GROUP BY region    HAVING SUM(area)>1000000    在這里,我們不能用where來(lái)篩選超過(guò)1000000的地區(qū),因?yàn)楸碇胁淮嬖谶@樣一條記錄。(where子句中不能使用聚集函數(shù))    相反,HAVING子句可以讓我們篩選成組后的各組數(shù)據(jù)  ex:create TABLE Table1    (      ID int identity(1,1) primary key NOT NULL,       classid int,      sex varchar(10),      age int,    )     --添加測(cè)試多條數(shù)據(jù)    Insert into Table1 values(1,'男',20)    Insert into Table1 values(2,'女',22)    Insert into Table1 values(3,'男',23)    Insert into Table1 values(4,'男',22)    Insert into Table1 values(1,'男',24)    ..........    查詢(xún)每一個(gè)班級(jí)中年齡大于20,性別為男的人數(shù)至少為2個(gè)的情況    select COUNT(age) as '>20歲人數(shù)',classid from Table1 where sex='男' group by classid having COUNT(age)>2底下這個(gè)例子很好    SQL> select * from sc;        SNO PNO    GRADE      ---------- ----- ----------YW       95SX       98YY       90YW      89SX       91YY       92YW      85SX       88YY       96YW      95SX       89YY       88    這個(gè)表所描述的是4個(gè)學(xué)生對(duì)應(yīng)每科學(xué)習(xí)成績(jī)的記錄,其中SNO(學(xué)生號(hào))、PNO(課程名)、GRADE(成績(jī))。    1、顯示90分以上學(xué)生的課程名和成績(jī)    //這是一個(gè)簡(jiǎn)單的查詢(xún),并沒(méi)有使用分組查詢(xún)    SQL> select sno,pno,grade from sc where grade>=90;        SNO PNO    GRADE      ---------- ----- ----------YW      95SX       98YY       90SX       91YY       92YY       96YW      95    2、顯示每個(gè)學(xué)生的成績(jī)?cè)?0分以上的各有多少門(mén)    --進(jìn)行分組顯示,并且按照where條件之后計(jì)數(shù)    SQL> select sno,count(*) from sc where grade>=90 group by sno;        SNO  COUNT(*)    -  --------- ----------     3     2     1     1    3、這里我們并沒(méi)有使用having語(yǔ)句,接下來(lái)如果我們要評(píng)選三好學(xué)生,條件是至少有兩門(mén)課程在90分以上才能有資格,      列出有資格的學(xué)生號(hào)及90分以上的課程數(shù)。    //進(jìn)行分組顯示,并且按照where條件之后計(jì)數(shù),在根據(jù)having子句篩選分組    SQL> select sno,count(*) from sc where grade>=90 group by sno having count(*)>=2;        SNO  COUNT(*)    ---------- ----------     3     2    這個(gè)結(jié)果是我們想要的,它列出了具有評(píng)選三好學(xué)生資格的學(xué)生號(hào),跟上一個(gè)例子比較之后,發(fā)現(xiàn)這是在分組后進(jìn)行的子查詢(xún)。    4、學(xué)校評(píng)選先進(jìn)學(xué)生,要求平均成績(jī)大于90分的學(xué)生都有資格,并且語(yǔ)文課必須在95分以上,請(qǐng)列出有資格的學(xué)生    //實(shí)際上,這個(gè)查詢(xún)先把語(yǔ)文大于95分的學(xué)生號(hào)提取出來(lái),之后求平均值,分組顯示后根據(jù)having語(yǔ)句選出平均成績(jī)大于90的    SQL> select sno,avg(grade) from sc where SNO IN (SELECT SNO FROM SC WHERE GRADE>=95 AND PNO='YW') group by sno having avg(grade)>=90;        SNO AVG(GRADE)    ---------- ----------  94.3333333  90.6666667    5、查詢(xún)比平均成績(jī)至少比學(xué)號(hào)是3的平均成績(jī)高的學(xué)生學(xué)號(hào)以及平均分?jǐn)?shù)    //having子句中可進(jìn)行比較和子查詢(xún)    SQL> select sno,avg(grade) from sc         group by sno         having avg(grade) > (select avg(grade) from sc where sno=3);


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MSSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩精品高清视频| 国产精品91xxx| 美女的尿口免费视频| 国产一区二区三区高清播放| 欲色天天网综合久久| 性猛交富婆╳xxx乱大交天津| 亚洲av综合一区| 国产精品300页| 凹凸成人精品亚洲精品密奴| 亚洲天堂精品视频| caoporn97免费视频公开| 久久免费精品| 四虎精品成人免费观看| www.久久草| 美女一区2区| 无码免费一区二区三区免费播放| 亚洲欧美另类中文字幕| 久久久精品三级| 国产成人高清激情视频在线观看| 国产一级精品毛片| 久久精品午夜一区二区福利| 色丁香久综合在线久综合在线观看| 欧美日韩电影一区二区| 91久久久久国产一区二区| 欧美二区乱c黑人| 亚洲国产精品一区二区尤物区| 国产成人精品123区免费视频| 精品久久久久久中文字幕一区奶水| 国产a∨精品一区二区三区仙踪林| 91女神在线观看| www.久久com| av一区二区久久| 亚洲精品第五页| 亚洲国产成人精品久久久国产成人一区| 色婷婷综合视频在线观看| 国产网址在线观看| 欧美色倩网站大全免费| 亚洲日本成人网| 亚欧无线一线二线三线区别| 亚洲成人偷拍| 国产第一精品| 国产人妖ts一区二区| 日韩午夜中文字幕| 日本高清中文字幕| 精品夜夜嗨av一区二区三区| 日韩精品一区国产麻豆| 国产成人在线亚洲欧美| 91禁在线观看| 国产精品你懂得| 91高清在线免费观看| 91精品国产综合久久久久久漫画| 青青草视频在线视频| 国产不卡在线一区| 免费在线观看一级片| 91狠狠综合久久久| 韩国av中国字幕| 亚洲人人精品| 青青草视频网站| 99久久综合狠狠综合久久aⅴ| http;//www.99re视频| 美女极度色诱视频www免费观看| 亚洲va久久久噜噜噜久久天堂| 99热在线观看| 成人精品一区二区三区电影免费| 国产精品扒开腿做爽爽| 91麻豆精品国产91久久综合| 日韩免费在线视频| 国产精品三区www17con| 丰满人妻一区二区三区四区| 亚洲午夜精品一区二区三区| 欧美91精品| 中文字幕观看在线| av手机天堂网| 日韩精品影片| 久久精品黄色| 日韩中文字幕一区二区高清99| 伊人国产精品视频| 日韩综合在线视频| 免费在线不卡视频| 99热这里只有精| 视频二区一区| 香蕉久久夜色精品| 蜜臀av在线播放一区二区三区| 日本成人在线视频网址| 91视频观看免费| 91精品视频播放| 91片在线免费观看| 成人免费观看在线视频| 亚洲视频在线免费观看| 国产精品久久久久久久app| 那种视频在线观看| 精品视频一区三区九区| 亚洲视频在线播放免费| 尤物免费看在线视频| av毛片在线播放| av在线一区二区| 亚洲欧美日韩一区二区| 曰韩精品一区二区| 中文字幕丰满乱子伦无码专区| 在线视频一二区| 欧美日韩电影在线播放| 996久久国产精品线观看| 欧美一区二区三区视频免费| 欧美成人aaaaⅴ片在线看| 性欧美xxxx| 亚洲高清国产拍精品26u| 少妇高潮一区二区三区99小说| 精品日本一区二区三区在线观看| 超碰成人福利| 日韩免费一区二区| aaa级黄色片| 日韩黄色三级在线观看| 99re6这里只有精品视频在线观看| 2021狠狠干| 校花撩起jk露出白色内裤国产精品| 少妇高潮喷水在线观看| 亚洲一区在线视频观看| 欧美肥婆姓交大片| 少妇真人直播免费视频| 奇米视频7777| 一区二区三区视频免费看| 色哟哟入口国产精品| 亚洲视频在线a| 91精品国产99久久久久久红楼| 欧美一区二区三区久久精品茉莉花| 亚洲综合另类小说| 俄罗斯女人裸体性做爰| 久久久久国产精品一区| 小嫩嫩12欧美| 亚洲乱码一区| 最新av在线网站| 国内精品偷拍视频| 亚洲国产精品视频在线| 嫩草www视频在线观看高清| 欧美乱妇高清无乱码| 欧美男同视频网| 日韩熟女精品一区二区三区| 久久精品人人做人人爽人人| a级片免费观看| 亚洲精品v亚洲精品v日韩精品| jvid福利写真一区二区三区| 日日噜噜噜噜久久久精品毛片| 亚洲影院理伦片| 美女福利精品视频| 777久久精品| 精品国产乱码久久久久| 免费久久99精品国产| 久久99国产精品久久久久久久久| 手机看片福利永久国产日韩| 日本精品一区在线| 99久久国产综合精品女小说| 亚洲国产精品影院| 伊人久久大香线蕉av一区二区| 毛片毛片毛片毛片| 欧美成人精品一区二区免费看片| 日韩成人动漫在线观看| 亚洲夜晚福利在线观看| 来个黄色网址| 91在线视频18| 影音先锋中文在线观看| 亚洲国产精品久久不卡毛片| 老太脱裤子让老头玩xxxxx| 国产67194| 国产在线观看免费视频今夜| 色999日韩欧美国产| 日本我和搜子同居的日子高清在线| 欧美日韩国产精品综合| 国产suv精品一区二区33| 欧美黑人一级爽快片淫片高清| 久久久另类综合| 人妻夜夜爽天天爽| bt天堂新版中文在线地址| 一级黄色录像在线观看| 日本wwww色| 精品国产美女a久久9999| 日韩污视频在线观看| bt7086福利一区国产| 亚洲精品视频免费看| 亚洲一区二区三区四区精品| 国产精品伦一区二区三区级视频频| 欧美一区成人| 欧美高清视频一区二区三区| 丁香花高清视频完整版在线观看| 妺妺窝人体色www婷婷| 91佛爷在线| 国产欧美精品一区二区三区四区| 丝袜情趣国产精品| 亚洲综合精品伊人久久| 日韩大胆人体| 欧美精品 国产精品| 中文av一区| 国产成人免费av电影| 国产精品免费在线免费| 国产精品灌醉下药二区| 国产精品爽黄69天堂a| 日韩电影免费观看| 综合免费一区二区三区| 国产专区自拍| 色网站免费在线观看| 伊人久久久久久久久久久| 国产天堂亚洲国产碰碰| 日日夜夜免费精品视频| av男人天堂av| 中文字幕制服丝袜一区二区三区| 91精品国产91久久久久福利| 麻豆视频在线免费观看| 日韩电影在线免费观看| av片在线免费观看| 国产高清视频在线| 欧美大尺度激情区在线播放| 日韩小视频在线| 国产69精品久久久久777| 国产精品偷乱一区二区三区| 亚洲性无码av在线| 久久九九全国免费| 欧美综合在线视频| 日韩欧美国产综合在线| 欧美激情成人| 婷婷久久综合网| 一区二区三区国产在线观看| 亚洲国产日韩在线| 亚洲一区二区中文字幕| 成人在线高清| 欧美黄色录像片| 国产九色91回来了| 久久9热精品视频| 精品网站999www| 日韩一级黄色片| 久久精品人人做人人爽人人| 95精品视频| 日韩一区二区中文字幕| 成人黄色大片在线观看| 欧美一级久久| 亚洲伊人伊成久久人综合网| 精品白丝av| 99.玖玖.com| 日本视频免费一区| 色噜噜噜噜噜噜| 日韩一级免费片| 欧洲亚洲一区二区三区| 日韩影片在线观看| 国产一区二三区| 国产人妖一区| 国产精品爱啪在线线免费观看| 国产无套丰满白嫩对白| 中文在线√天堂| 国产综合在线观看视频| 日本视频在线播放| 色香蕉久久蜜桃| 久久免费精品一区二区| 成人免费黄色在线| 欧美三级午夜理伦三级小说| **欧美大码日韩| 国产小视频免费| av网站在线免费看| 久久亚洲电影天堂| 亚洲自拍的二区三区| 亚洲一区二区精品久久av| 久久新电视剧免费观看| 中文字幕av在线播放| 亚洲第一综合色| 日韩国产一区二| 1000精品久久久久久久久| 亚洲电影免费观看高清| 中文字幕免费高清视频| 欧美亚视频在线中文字幕免费| 色无极影院亚洲| 久久久青草婷婷精品综合日韩| 免费97视频在线精品国自产拍| 精品欧美一区二区久久久久| 青青草原一区二区| 自拍偷拍亚洲天堂| 国产精品18毛片一区二区| 日本一区二区三区久久久久久久久不| 91久久久一线二线三线品牌| 欧美日韩免费视频| 欧美亚洲天堂网| 日韩免费观看高清| 91在线看黄| 91国内在线播放| 精品国产制服丝袜高跟| 激情综合五月天| 老司机深夜福利网站| 亚洲欧美另类图片小说| 国产大学生校花援交在线播放| 欧美裸体网站| 欧美孕妇性xxxⅹ精品hd| 日韩久久免费av| 97人妻精品一区二区三区免费| 国产一级一级片| 亚洲福利一区| 午夜免费电影一区在线观看| 成人亚洲欧美| 国产伦精品一区二区三区视频青涩| 国模精品视频一区二区| 天天摸夜夜操| 欧美精品一区二区三区久久久竹菊| 女人被男人躁得好爽免费视频| 在线成人直播| 午夜久久久久久久久久一区二区| 精品无码m3u8在线观看| 国产精品一品二区三区的使用体验| 亚洲九九九在线观看| 免费成人高清| 欧美日韩在线三级| 久久黄色网页| 久久久日本电影| 一区二区三区视频在线观看视频| 午夜时刻免费入口| 精品中文字幕在线观看| 一色桃子久久精品亚洲| 色吊丝一区二区| 国产精品嫩草在线观看| 黄色av网址在线播放| 日韩欧美一区二区视频| 高清电影在线免费观看| 大胆国模一区二区三区| 2欧美一区二区三区在线观看视频| 精品理论电影在线| 亚洲不卡在线播放| wwwxxx在线观看| 黄a大片av永久免费| 91青青在线视频| 国产伦精品一区二区三区高清| 日韩亚洲精品在线观看| 在线观看你懂| 青青草国产成人av片免费| 久久久久亚洲av成人网人人软件|