caoporm97国产在线视频|欧美性XXXXX精品|一本一道久久a久久精品综合开|精品久久久久久久久久久AⅤ|

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

百恒網(wǎng)絡

南昌百恒網(wǎng)絡

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

百恒網(wǎng)絡 2012-06-21 7349

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

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

id name dept salary edlevel hiredate

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

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

3 王五 設計部 2600 5 2010-10-02

4 王六 設計部 2300 4 2010-10-03

5 馬七 設計部 2100 4 2010-10-06

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

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

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

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

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

查詢結果如下:

DEPT MAXIMUM

開發(fā)部 2500

設計部 2600

銷售部 3500

解釋一下這個結果:

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

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

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

例如,查詢每個部門的總的薪水數(shù)

SELECT DEPT, sum( SALARY ) AS total

FROM STAFF

GROUP BY DEPT

查詢結果如下:

DEPT total

開發(fā)部 4500

設計部 7000

銷售部 9600

將 WHERE 子句與 GROUP BY 子句一起使用分組查詢可以在形成組和計算列函數(shù)之前具有消除非限定行的標準 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

查詢結果如下:

DEPT EDLEVEL MAXIMUM

設計部 4 2300

設計部 5 2600

銷售部 5 3000

銷售部 7 3500

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

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

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

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

FROM staff

GROUP BY DEPT

HAVING COUNT( * ) >2

ORDER BY DEPT

查詢結果如下:

DEPT MAXIMUM MINIMUM

設計部 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

查詢結果如下:

DEPT MAXIMUM MINIMUM

銷售部 3500 3000

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


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

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

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×