共計 1221 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要介紹了數(shù)據(jù)庫中如何報告匯總數(shù)據(jù)使用組函數(shù)的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
一、語法
SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
二、組函數(shù)
分組函數(shù)可以對行集進行操作,并且為每組給出一個結(jié)果。這些集合可以是整個表,也可以是由表分割成的組。
AVG
語法:AVG([DISTINCT|ALL]n)
說明:n 的平均值,忽略空值
例句:
SELECT AVG(SALARY) FROM EMPLOYEES;
COUNT
語法:COUNT({*|[DISTINCT|ALL]expr})
說明:行數(shù),其中 expr 用來判定非空值(使用 * 計算所有選定行,包括重復行和帶有空值的行)
例句:
SELECT COUNT(*) FROM EMPLOYEES;
MAX
語法:MAX([DISTINCT|ALL]expr)
說明:expr 的最大值,忽略空值
例句:
SELECT MAX(SALARY) FROM EMPLOYEES;
MIN
語法:MIN([DISTINCT|ALL]expr)
說明:expr 的最小值,忽略空值
例句:
SELECT MIN(SALARY) FROM EMPLOYEES;
SUM
語法:SUM([DISTINCT|ALL]n)
說明:n 的總計值,忽略空值
例句:
SELECT SUM(SALARY) FROM EMPLOYEES;
三、分組
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(*)
四、嵌套組函數(shù)
例句:
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“數(shù)據(jù)庫中如何報告匯總數(shù)據(jù)使用組函數(shù)的方法”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業(yè)資訊頻道,更多相關知識等著你來學習!