您好,登錄后才能下訂單哦!
這篇文章主要介紹了數(shù)據(jù)庫中如何報告匯總數(shù)據(jù)使用組函數(shù)的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
分組函數(shù)可以對行集進行操作,并且為每組給出一個結(jié)果。這些集合可以是整個表,也可以是由表分割成的組。
函數(shù) | 內(nèi)容 |
---|---|
AVG | 語法:AVG([DISTINCT|ALL]n) |
說明:n的平均值,忽略空值 | |
例句:
| |
COUNT | 語法:COUNT({*|[DISTINCT|ALL]expr}) |
說明:行數(shù),其中expr用來判定非空值(使用*計算所有選定行,包括重復行和帶有空值的行) | |
例句:
| |
MAX | 語法:MAX([DISTINCT|ALL]expr) |
說明:expr的最大值,忽略空值 | |
例句:
| |
MIN | 語法:MIN([DISTINCT|ALL]expr) |
說明:expr的最小值,忽略空值 | |
例句:
| |
SUM | 語法:SUM([DISTINCT|ALL]n) |
說明:n的總計值,忽略空值 | |
例句:
|
1、GROUP BY
可以使用GROUPBY子句將表中的數(shù)據(jù)分成若干組。
a) 在SELECT列表中所有未包含在組函數(shù)中的列都應該包含在GROUP BY子句中。
b) 包含在GROUP BY 子句中的列不必包含在SELECT列表中。
2、HAVING
不能使用WHERE子句來過濾組
可以使用HAVING子句來過濾組
3、例句
--GROUP BY
--各個部門的最高、最低、平均工資
SELECT DEPTNO, MAX(SAL), MIN(SAL), AVG(SAL)
FROM EMP
GROUP BY DEPTNO;
--HAVING
--哪些員工有3個以上的直接下屬,列出員工名字和直接下屬個數(shù)
SELECT M.ENAME, COUNT(*)
FROM EMP W, EMP M
WHERE W.MGR = M.EMPNO
GROUP BY M.ENAME
HAVING COUNT(*) > 3;
例句:
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;
感謝你能夠認真閱讀完這篇文章,希望小編分享的“數(shù)據(jù)庫中如何報告匯總數(shù)據(jù)使用組函數(shù)的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。