千家信息网

MySQL聚合函数的原理及作用

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,下文我给大家简单讲讲关于MySQL聚合函数的原理及作用,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完MySQL聚合函数的原理及作用对大家多少有点帮助吧。以下是我们经常要
千家信息网最后更新 2025年11月07日MySQL聚合函数的原理及作用

下文我给大家简单讲讲关于MySQL聚合函数的原理及作用,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完MySQL聚合函数的原理及作用对大家多少有点帮助吧。

以下是我们经常要用的一些聚合函数,请谨慎使用,注意sql_mode 模式设置对查询结果的影响,如果sql_mode=' ',那么:
select create_time,test_name,max(moneys) from test_table group by test_name; 查询不报错,但可能与预想结果不一样,时间与最大值不匹配,之前见有开发这样写过,如果sql_mode='only_full_group_by',以上sql 会报错。

  1. avg() 求平均值
    select test_name,avg(moneys) from test_table group by test_name; 按人名分组求平均金额
    +-----------+---------------+
    | test_name | avg(moneys) |
    +-----------+---------------+
    | 哈罗德 | 550000.175000 |
    | 格温 | 170015.130000 |
    | 班尼 | 915016.630000 |
    +-----------+---------------+

  2. max() 求最大值
    select test_name,max(moneys) from test_table group by test_name; 按人名分组求最大金额
    +-----------+-------------+
    | test_name | max(moneys) |
    +-----------+-------------+
    | 哈罗德 | 1000000.23 |
    | 格温 | 170030.13 |
    | 班尼 | 1660003.13 |
    +-----------+-------------+

  3. min() 求最小值
    select test_name,min(moneys) from test_table group by test_name; 按人名分组求最小金额
    +-----------+-------------+
    | test_name | min(moneys) |
    +-----------+-------------+
    | 哈罗德 | 100000.12 |
    | 格温 | 170000.13 |
    | 班尼 | 170030.13 |
    +-----------+-------------+

  4. sum() 求和
    select test_name,sum(moneys) from test_table group by test_name; 按人名分组求总金额
    +-----------+-------------+
    | test_name | sum(moneys) |
    +-----------+-------------+
    | 哈罗德 | 1100000.35 |
    | 格温 | 340030.26 |
    | 班尼 | 1830033.26 |
    +-----------+-------------+

  5. count() 求行数
    select count() from test_table; 直接求总行数
    +----------+
    | count() |
    +----------+
    | 6 |
    +----------+

select test_name,count() from test_table group by test_name; 按人名分组求频率
+-----------+----------+
| test_name | count() |
+-----------+----------+
| 哈罗德 | 2 |
| 格温 | 2 |
| 班尼 | 2 |
+-----------+----------+

select test_name,count(distinct test_name) from test_table group by test_name; 先去重,后按人名分组求频率
+-----------+---------------------------+
| test_name | count(distinct test_name) |
+-----------+---------------------------+
| 哈罗德 | 1 |
| 格温 | 1 |
| 班尼 | 1 |
+-----------+---------------------------+

6.group_concat() 拼接数据
select test_name,group_concat(test_id),avg(moneys) from test_table group by test_name; 按人名分组拼接id
+-----------+-----------------------+---------------+
| test_name | group_concat(test_id) | avg(moneys) |
+-----------+-----------------------+---------------+
| 哈罗德 | 1,2 | 550000.175000 |
| 格温 | 3,5 | 170015.130000 |
| 班尼 | 4,6 | 915016.630000 |
+-----------+-----------------------+---------------+

7.计算每日访问量
select * from t1;
+------+-------+------+
| year | month | day |
+------+-------+------+
| 2000 | 01 | 01 |
| 2000 | 01 | 20 |
| 2000 | 01 | 30 |
| 2000 | 02 | 02 |
| 2000 | 02 | 23 |
| 2000 | 02 | 23 |
+------+-------+------+

SELECT year,month,BIT_COUNT(BIT_OR(1<GROUP BY year,month;
+------+-------+------+
| year | month | days |
+------+-------+------+
| 2000 | 01 | 3 |
| 2000 | 02 | 2 |
+------+-------+------+

大家觉得MySQL聚合函数的原理及作用这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。


人名 哈罗德 格温 班尼 哈罗 分组 函数 金额 作用 原理 最大 最小 最大值 篇文章 结果 频率 查询 下文 主题 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 描述一下软件开发过程 怎样打开系统管理服务器 三级网络技术从哪报班 机关网络安全检查落实方案 枣庄小蜂互联网科技有限公司 公共厕所效果图软件开发 航嘉500服务器电源家用可以吗 华为公司网络安全主管是谁 东营哪里有联想服务器代理 其他电脑如何连接本地电脑服务器 智慧党建云平台软件开发 怎么留住软件开发核心人员 甘肃政法网络安全复试 长春广东网络安全培训攻防技术 数据库定时执行sql语句 软件开发需要频繁换工作吗 java全局处理数据库异常 云计算环境下的网络安全技术论文 海南企业软件开发收费 英文名网络安全 凉山网络技术哪个好 科密 数据库 厦门吉比特网络技术人力 电脑链接远程服务器失败 b站服务器原因 事业单位服务器 金麒麟软件开发团队 无限传感网络技术有什么特点 临时限速服务器有什么功能 asp拍照上传到服务器源码
0