MySQL函数学习(四)-----聚合函数

打印 上一主题 下一主题

主题 975|帖子 975|积分 2925

注:笔记旨在记录
四、MySQL 聚合函数

\函 数 名 称作  用完 成1MAX求最大值勾2MIN求最小值勾3COUNT求数量勾4BIT_COUNT求换算成二级制后1的个数勾5ROW_COUNTsql操作所影响的行数勾6SUM求和勾7AVG求平均值勾0.

0.1 num表:
  1. CREATE TABLE `anyot`.`Untitled`  (
  2. `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  3. `rand_int_num` int NULL DEFAULT NULL,
  4. `rand_decimal_num` decimal(65, 2) NULL DEFAULT NULL,
  5. `rand_string_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL
  6. ) 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示例:
  1. SELECT
  2.     MAX(rand_int_num),MAX(rand_decimal_num),MAX(rand_string_num)
  3. FROM num
复制代码

2. MIN() --  求最小值

2.1. 函数:


  • MAX(int)、MAX(decimal)、MAX(str) : 求最小值
2.2. sql示例:
  1. SELECT
  2.     MIN(rand_int_num),MIN(rand_decimal_num),MIN(rand_string_num)
  3. FROM num
复制代码

3. COUNT() -- 求总数

3.1. 函数:


  • COUNT(*)、COUNT(exp):   求表总数据数或是某个字段的数据数
注: exp表字段名,此时计算值会自动忽略null值的数据
3.2. sql示例:
  1. SELECT
  2.     COUNT(*),COUNT(rand_int_num),COUNT(rand_decimal_num)
  3. FROM num
复制代码

4. BIT_COUNT() -- 求1个数

4.1. 函数:


  • BIT_COUNT(): 计算换算成二级制后其中1的个数
4.2. sql示例:
  1. SELECT
  2.     rand_int_num,BIT_COUNT(rand_int_num),rand_decimal_num,BIT_COUNT(rand_decimal_num)
  3. FROM num
复制代码

5. ROW_COUNT() -- 求操作的行数

5.1. 函数:


  • LEFT(str,len):  取字符串从左往右的若干各字符
5.2. sql示例:
  1. UPDATE
  2.     num set rand_int_num = "21",rand_decimal_num = "32"
  3. where id ="7";
  4. SELECT ROW_COUNT();
复制代码

注:要连在sql操作后用,返回值为-1表示前无操作
6. SUM() -- 求和

6.1. 函数:


  • SUM(epx) :求某字段所有值的和,自动忽略null值和非数值型的值
6.2. sql示例:
  1. SELECT
  2.     SUM(rand_int_num),SUM(rand_decimal_num),SUM(rand_string_num)  
  3. FROM num
复制代码

注:特别注意字符串小数计算时,要设置精度,不然结果可能会不对,主要是浮点数计算的问题
7. AVG -- 求平均值

7.1. 函数:


  • AVG(epx): 求某一字段的平均值
7.2. sql示例:
  1. SELECT
  2.     SUM(rand_int_num)/count(rand_int_num),AVG(rand_int_num),AVG(rand_decimal_num),AVG(rand_string_num)  
  3. FROM num
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

熊熊出没

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表