MySQL中,GROUP BY 分组函数

文章目录

示例查询:按性别分组统计每组信息

sql 复制代码
如果我们只想按照性别分组,并统计每个性别的人数,可以使用以下查询:

SELECT gender, COUNT(*) AS total_users
FROM user
GROUP BY gender;

示例查询:按性别分组显示详细信息

sql 复制代码
如果我们想按性别分组,并显示每组的详细信息,可以使用`GROUP_CONCAT`函数,将每组的姓名、年龄等信息聚合到一起:

SELECT 
    gender, 
    GROUP_CONCAT(name) AS names,
    GROUP_CONCAT(age) AS ages,
    GROUP_CONCAT(address) AS addresses
FROM 
    user
GROUP BY 
    gender;

示例查询:按性别分组并计算平均年龄,如果你还想统计每个性别的平均年龄,可以结合AVG()函数:

sql 复制代码
SELECT 
    gender, 
    COUNT(*) AS total_users,
    AVG(age) AS average_age
FROM 
    user
GROUP BY 
    gender;

说明

  • GROUP BY gender :将结果按性别分组。

  • COUNT(*) :统计每组的用户数量。

  • GROUP_CONCAT() :将每组的姓名、年龄、地址等字段值连接起来,以逗号分隔。

  • AVG(age) :计算每组的平均年龄。

这样可以灵活地根据需要按性别进行分组查询,展示详细信息或进行统计分析。

相关推荐
熊文豪13 分钟前
时序数据库选型指南:从大数据视角看高效存储与分析
大数据·数据库·时序数据库
Lisonseekpan15 分钟前
为什么要避免使用 `SELECT *`?
java·数据库·后端·sql·mysql·oracle
Wilson Chen21 分钟前
深入理解 MySQL 事务与锁机制:从 ACID 到 Next-Key Lock 的实证之旅
java·数据库·mysql
Fency咖啡1 小时前
Spring进阶 - Spring事务理论+实战,一文吃透事务
java·数据库·spring
无敌的牛1 小时前
MySQL的开始,MySQL的安装
数据库·mysql
Zxxxxxy_1 小时前
【MYSQL】增删改查
java·数据库·mysql
木辰風1 小时前
如何在MySQL中搜索JSON数据,并去除引号
数据库·mysql·json
zzhongcy2 小时前
分库分表详解,以及ShardingJDBC介绍
数据库·oracle
Deamon Tree2 小时前
Redis的过期策略以及内存淘汰机制
java·数据库·redis·缓存
晓py2 小时前
SQL调优专题笔记:打造你的数据库性能优化思维体系
数据库·笔记·sql