計(jì)算及分類
7.3 SQL的統(tǒng)計(jì)、計(jì)算及分類
可在SQL的查詢語句中插入計(jì)算、統(tǒng)計(jì)、分類的功能以增強(qiáng)數(shù)據(jù)查詢能力。
1)統(tǒng)計(jì)功能
SQL的查詢中可以插入一些常用統(tǒng)計(jì)功能,它們能對集合中的元素作下列計(jì)算:
(1)COUNT:集合元素個(gè)數(shù)統(tǒng)計(jì);
(2)SUM:集合元素的和(僅當(dāng)元素為數(shù)值型);
(3)AVG:集合元素平均值(僅當(dāng)元素為數(shù)值型);
(4)MAX:集合中最大元素(僅當(dāng)元素為數(shù)值型);
(5)MIN:集合中最小元素(僅當(dāng)元素為數(shù)值型)。
以上五個(gè)函數(shù)叫總計(jì)函數(shù)(aggregate function),這種函數(shù)是以集合為其變域以數(shù)值為其值域,可用圖7.4表示。
圖7.4 總計(jì)函數(shù)的功能
例7.29 給出全體學(xué)生數(shù)。
例7.30 給出學(xué)生s1修讀的課程數(shù)。
例7.31 給出學(xué)生s7所修讀課程的平均成績。
2)計(jì)算功能
SQL查詢中可以插入簡單的算術(shù)表達(dá)式如四則運(yùn)算功能,下面舉幾個(gè)例子說明之。
例7.32 給出修讀課程為c7的所有學(xué)生的學(xué)分級(即學(xué)分?jǐn)?shù)*3)。
例7.33 給出計(jì)算機(jī)系下一年度學(xué)生的年齡。
3)分類功能
SQL語句中允許增加兩個(gè)子句。
此兩子句可以對SELECT語句所得到的集合元組分組(用GROUP BY子句),并還可設(shè)置邏輯條件(用HAVING子句),下面舉幾個(gè)例子說明之。
例7.34 給出每個(gè)學(xué)生的平均成績。
例7.35 給出每個(gè)學(xué)生修讀課程的門數(shù)。
例7.36 給出所有超過五個(gè)學(xué)生所修讀課程的學(xué)生數(shù)。
例7.37 按總平均值降序給出所有課程都及格但不包括C8的所有學(xué)生總平均成績。
免責(zé)聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。