注:筆記旨在記錄
四、MySQL 聚合函式
| \ | 函 數 名 稱 | 作 用 | 完 成 |
|---|---|---|---|
| 1 | MAX |
求最大值 | 勾 |
| 2 | MIN |
求最小值 | 勾 |
| 3 | COUNT |
求數量 | 勾 |
| 4 | BIT_COUNT |
求換算成二級制后1的個數 | 勾 |
| 5 | ROW_COUNT |
sql操作所影響的行數 | 勾 |
| 6 | SUM |
求和 | 勾 |
| 7 | AVG |
求平均值 | 勾 |
0.表
0.1 num表:
CREATE TABLE `anyot`.`Untitled` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`rand_int_num` int NULL DEFAULT NULL,
`rand_decimal_num` decimal(65, 2) NULL DEFAULT NULL,
`rand_string_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

1. MAX() -- 求最大值
1.1. 函式:
MAX(int)、MAX(decimal)、MAX(str): 求最大值
注:
int,decimal,string等等都可以求,字串按ASCII大小來求
1.2. sql示例:
SELECT
MAX(rand_int_num),MAX(rand_decimal_num),MAX(rand_string_num)
FROM num

2. MIN() -- 求最小值
2.1. 函式:
MAX(int)、MAX(decimal)、MAX(str): 求最小值
2.2. sql示例:
SELECT
MIN(rand_int_num),MIN(rand_decimal_num),MIN(rand_string_num)
FROM num

3. COUNT() -- 求總數
3.1. 函式:
COUNT(*)、COUNT(exp): 求表總資料數或是某個欄位的資料數
注: exp表欄位名,此時計算值會自動忽略null值的資料
3.2. sql示例:
SELECT
COUNT(*),COUNT(rand_int_num),COUNT(rand_decimal_num)
FROM num

4. BIT_COUNT() -- 求1個數
4.1. 函式:
BIT_COUNT(): 計算換算成二級制后其中1的個數
4.2. sql示例:
SELECT
rand_int_num,BIT_COUNT(rand_int_num),rand_decimal_num,BIT_COUNT(rand_decimal_num)
FROM num

5. ROW_COUNT() -- 求操作的行數
5.1. 函式:
LEFT(str,len): 取字串從左往右的若干各字符
5.2. sql示例:
UPDATE
num set rand_int_num = "21",rand_decimal_num = "32"
where id ="7";
SELECT ROW_COUNT();

注:要連在sql操作后用,回傳值為-1表示前無操作
6. SUM() -- 求和
6.1. 函式:
SUM(epx):求某欄位所有值的和,自動忽略null值和非數值型的值
6.2. sql示例:
SELECT
SUM(rand_int_num),SUM(rand_decimal_num),SUM(rand_string_num)
FROM num

注:特別注意字串小數計算時,要設定精度,不然結果可能會不對,主要是浮點數計算的問題
7. AVG -- 求平均值
7.1. 函式:
AVG(epx): 求某一欄位的平均值
7.2. sql示例:
SELECT
SUM(rand_int_num)/count(rand_int_num),AVG(rand_int_num),AVG(rand_decimal_num),AVG(rand_string_num)
FROM num

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/499113.html
標籤:MySQL
上一篇:mysql中group by,having,order by,limit,distinct的用法和簡單的的多表查詢
