欧美亚洲大片-国产免费成人在线视频-国产成人8x人在线视频软件-日韩亚洲欧美中文字幕-97伦伦午夜电影理伦片-亚洲综合精品视频-曰本女人牲交高潮视频-久久久精品欧美-天天干天天操天天碰-精品国产乱码久久久久久1区2区-黄色一级免费片-在线免费欧美-国产成人精品在线视频-精人妻一区二区三区-香蕉视频2020-综合久久99-欧美日韩亚洲国产综合

十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號 掃一掃關(guān)注
小程序
tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

group by使用方及規(guī)則

百恒網(wǎng)絡(luò) 2012-06-21 8028

group by 語法在數(shù)據(jù)查詢和統(tǒng)計(jì)方面我們經(jīng)常要用到,例如:要統(tǒng)計(jì)每個用戶對產(chǎn)品評論數(shù)量,工資傭金,業(yè)績等統(tǒng)計(jì)中都要按某個進(jìn)行分組統(tǒng)講,下面向大家介紹GROUP BY語法.

group by語法可以根據(jù)給定數(shù)據(jù)列的每個成員對查詢結(jié)果進(jìn)行分組統(tǒng)計(jì),最終得到一個分組匯總表。SELECT子句中的列名必須為分組列或列函數(shù)。列函數(shù)對于GROUP BY子句定義的每個組各返回一個結(jié)果。 某個員工信息表結(jié)構(gòu)和數(shù)據(jù)如下:

id name dept salary edlevel hiredate

1 張三 開發(fā)部 2000 3 2009-10-11

2 李四 開發(fā)部 2500 3 2009-10-01

3 王五 設(shè)計(jì)部 2600 5 2010-10-02

4 王六 設(shè)計(jì)部 2300 4 2010-10-03

5 馬七 設(shè)計(jì)部 2100 4 2010-10-06

6 趙八 銷售部 3000 5 2010-10-05

7 錢九 銷售部 3100 7 2010-10-07

8 孫十 銷售部 3500 7 2010-10-06

例如,我想列出每個部門最高薪水的結(jié)果,sql語句如下:

SELECT DEPT, MAX(SALARY) AS MAXIMUM FROM STAFF GROUP BY DEPT

查詢結(jié)果如下:

DEPT MAXIMUM

開發(fā)部 2500

設(shè)計(jì)部 2600

銷售部 3500

解釋一下這個結(jié)果:

1、滿足“SELECT子句中的列名必須為分組列或列函數(shù)”,因?yàn)镾ELECT有GROUP BY DEPT中包含的列DEPT。

2、“列函數(shù)對于GROUP BY子句定義的每個組各返回一個結(jié)果”,根據(jù)部門分組,對每個部門返回一個結(jié)果,就是每個部門的最高薪水。

注意:計(jì)算的是每個部門(由 GROUP BY 子句定義的組)而不是整個公司的 MAX(SALARY)。

例如,查詢每個部門的總的薪水?dāng)?shù)

SELECT DEPT, sum( SALARY ) AS total

FROM STAFF

GROUP BY DEPT

查詢結(jié)果如下:

DEPT total

開發(fā)部 4500

設(shè)計(jì)部 7000

銷售部 9600

將 WHERE 子句與 GROUP BY 子句一起使用分組查詢可以在形成組和計(jì)算列函數(shù)之前具有消除非限定行的標(biāo)準(zhǔn) WHERE 子句。必須在GROUP BY 子句之前指定 WHERE 子句。

例如,查詢公司2010年入職的各個部門每個級別里的最高薪水

SELECT DEPT, EDLEVEL, MAX( SALARY ) AS MAXIMUM

FROM staff

WHERE HIREDATE > '2010-01-01'

GROUP BY DEPT, EDLEVEL

ORDER BY DEPT, EDLEVEL

查詢結(jié)果如下:

DEPT EDLEVEL MAXIMUM

設(shè)計(jì)部 4 2300

設(shè)計(jì)部 5 2600

銷售部 5 3000

銷售部 7 3500

注意:在SELECT語句中指定的每個列名也在GROUP BY子句中提到。未在這兩個地方提到的列名將產(chǎn)生錯誤。

GROUP BY子句對DEPT和EDLEVEL的每個唯一組合各返回一行。 在GROUP BY子句之后使用HAVING子句可應(yīng)用限定條件進(jìn)行分組,以便系統(tǒng)僅對滿足條件的組返回結(jié)果。為此,在GROUP BY子句后面包含一個HAVING子句。HAVING子句可包含一個或多個用AND和OR連接的謂詞。每個謂詞將組特性(如AVG(SALARY))與下列之一進(jìn)行比較:

例如:尋找雇員數(shù)超過2個的部門的最高和最低薪水:

SELECT DEPT, MAX( SALARY ) AS MAXIMUM, MIN( SALARY ) AS MINIMUM

FROM staff

GROUP BY DEPT

HAVING COUNT( * ) >2

ORDER BY DEPT

查詢結(jié)果如下:

DEPT MAXIMUM MINIMUM

設(shè)計(jì)部 2600 2100

銷售部 3500 3000

例如:尋找雇員平均工資大于3000的部門的最高和最低薪水:

SELECT DEPT, MAX( SALARY ) AS MAXIMUM, MIN( SALARY ) AS MINIMUM

FROM staff

GROUP BY DEPT

HAVING AVG( SALARY ) >3000

ORDER BY DEPT

查詢結(jié)果如下:

DEPT MAXIMUM MINIMUM

銷售部 3500 3000

希望本文對廣大站長或從事企業(yè)網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大站長和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn)。


400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
大埔县| 晋江市| 华坪县| 乐业县| 陈巴尔虎旗| 慈溪市| 永春县| 加查县| 桦南县| 临泽县| 靖西县| 育儿| 祥云县| 澳门| 菏泽市| 固镇县| 廉江市| 濉溪县| 马龙县| 临猗县| 渭源县| 晋州市| 辉南县| 和顺县| 安乡县| 新干县| 靖西县| 雷波县| 旬阳县| 柏乡县| 贞丰县| 牡丹江市| 珠海市| 重庆市| 青海省| 沂南县| 府谷县| 亚东县| 台南县| 岚皋县| 马关县|