千家信息网

MySQL聚合函数的原理及作用

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,下文我给大家简单讲讲关于MySQL聚合函数的原理及作用,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完MySQL聚合函数的原理及作用对大家多少有点帮助吧。以下是我们经常要
千家信息网最后更新 2025年02月16日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安全错误 数据库的锁怎样保障安全 剪影软件开发工程师面试 数据库中的关系如何画er图 我的世界手机pvp服务器 软件开发环境的维护 智能终端软件开发设计报告 网络安全法个人应该做到哪些 河北博程软件开发有限公司怎么样 餐饮配送软件开发 服务器插上键盘后怎么打开 沪港通网络安全龙头 违反网络安全法二十二条规定 韩国手机代理服务器怎么设置 软件开发行业相关的公众号 java编写后端服务器 服务器网络攻击后怎么处理 青岛直播软件开发流程 软件开发过程的改进思路 2018工需网络安全考试 互联网领先科技学院 网络安全宣传教育心得体会 我国网络安全技术比较 甘肃惠普服务器虚拟化设计 利盟网络安全 中国最厉害软件开发者是谁 服务器矿机托管 山东 长宁区海航软件开发诚信经营 萌娃爱画画手抄报网络安全 不履行网络安全管理罪解释 中航软件开发怎么样 网络暴力属于网络安全范畴吗
0