国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySql Group By對多個字段進行分組的實現(xiàn)方法

2024-07-24 12:51:07
字體:
供稿:網(wǎng)友

在平時的開發(fā)任務(wù)中我們經(jīng)常會用到MYSQL的GROUP BY分組, 用來獲取數(shù)據(jù)表中以分組字段為依據(jù)的統(tǒng)計數(shù)據(jù)。比如有一個學生選課表,表結(jié)構(gòu)如下:

Table: Subject_SelectionSubject Semester Attendee---------------------------------ITB001 1 JohnITB001 1 BobITB001 1 MickeyITB001 2 JennyITB001 2 JamesMKB114 1 JohnMKB114 1 Erica

我們想統(tǒng)計每門課程有多少個學生報名,應用如下SQL:

SELECT Subject, Count(*)FROM Subject_SelectionGROUP BY Subject

得到如下結(jié)果:

Subject Count------------------------------ITB001 5MKB114 2

因為表里記錄了有5個學生選擇ITB001,2個學生選擇了MKB114。

產(chǎn)生這個結(jié)果的原因是:

GROUP BY X意思是將所有具有相同X字段值的記錄放到一個分組里。

那么GROUP BY X, Y呢?

GROUP BY X, Y意思是將所有具有相同X字段值和Y字段值的記錄放到一個分組里。

我們下面再接著要求統(tǒng)計出每門學科每個學期有多少人選擇,應用如下SQL:

SELECT Subject, Semester, Count(*)FROM Subject_SelectionGROUP BY Subject, Semester

上面SQL的意思是,對Subject_Selection表中的數(shù)據(jù)進行分組,將具有相同Subject和Semester字段值的記錄放到同一個分組里去, 然后對每個分組中的數(shù)據(jù)應用聚合函數(shù)(COUNT,SUM, AVG,etc)。

得到的結(jié)果是:

Subject Semester Count------------------------------ITB001 1 3ITB001 2 2MKB114 1 2

從表中的記錄我們可以看出這個分組結(jié)果是正確的有3個學生在第一學期選擇了ITB001, 2個學生在第二學期選擇了ITB001,

還有兩個學生在第一學期選擇了MKB114, 沒人在第二學期選擇MKB114。

再比如有一個訂單表,表中記錄了所有支付過的訂單

Table: Order

Product Buyer Spending---------------------------------PD001 Todd 12.00PD001 Todd 12.00PD001 Todd 12.00PD001 Lily 12.00PD001 Lily 12.00PD002 Todd 20.00PD002 Todd 20.00

現(xiàn)在我們想統(tǒng)計每個用戶在每種商品上總共花了多少錢,執(zhí)行如下SQL

SELECT Product,Buyer, SUM(Spending)FROM `Order`GROUP BY Product, Buyer

獲得的結(jié)果如下:

Product Buyer SUM------------------------------PD001 Todd 36.00PD001 Lily 24.00PD002 Todd 40.00

總結(jié):

在MYSQL中使用GROUP BY對表中的數(shù)據(jù)進行分組時,

GROUP BY X意思是將所有具有相同X字段值的記錄放到一個分組里,

GROUP BY X, Y意思是將所有具有相同X字段值和Y字段值的記錄放到一個分組里。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨江| 黎平县| 赤壁市| 丽水市| 休宁县| 霸州市| 乐东| 龙泉市| 武威市| 大同市| 昌黎县| 绩溪县| 林甸县| 全州县| 光山县| 无棣县| 阿巴嘎旗| 甘泉县| 绵阳市| 鲁山县| 浦县| 永州市| 防城港市| 砀山县| 响水县| 三都| 富源县| 麻阳| 淮滨县| 辽源市| 华坪县| 扎兰屯市| 定兴县| 昌乐县| 胶州市| 盐山县| 德格县| 志丹县| 安福县| 博湖县| 菏泽市|