1. 程式人生 > 資料庫 >4.2MySQL-常見函式_分組函式

4.2MySQL-常見函式_分組函式

**

4.2分組函式

**

/* 功能:用作統計使用,又稱為聚合函式或統計函式或組函式
分類: sum avg max min count
特點:
1)sum,avg一般用於處理數值型
max,min,count可以處理任何型別
2)以上分組函式都忽略null值
3)可以和distinct搭配,實現去重的運算
4)count函式的單獨介紹
一般用count(*)用作統計行數
5)和分組函式一同查詢的欄位要求是GROUP BY後的欄位
*/

#1.簡單的使用

SELECT SUM(salary) FROM employees;
SELECT avg(salary) FROM employees;
SELECT MAX(salary) FROM employees;
SELECT MIN(salary) FROM employees;
SELECT COUNT(salary) FROM employees;
SELECT SUM(salary) as 和,round(AVG(salary),2)as 平均值,MAX(salary) AS 最大值,MIN(salary) as 最小值
FROM employees;

#2.引數支援哪些型別
#3.是否忽略null值
#4.和distinct搭配

SELECT COUNT(DISTINCT salary) FROM employees;

#5.count函式的詳細介紹

SELECT COUNT(salary) FROM employees;
SELECT COUNT(*) FROM employees;
SELECT COUNT(1) FROM employees;

#效率:
#MYISAM 儲存引擎下,count()的效率高
#INNODB 儲存引擎下,count(
)和count(1)的效率差不多,比count(欄位)高一些

#測試題1:查詢員工表中的最大入職時間和最小入職時間的相差天數(difference)

SELECT DATEDIFF(max(hiredate),MIN(hiredate)) as difference
FROM employees;