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) :计算每组的平均年龄。

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

相关推荐
IT枫斗者枫哥3 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
Flynt3 小时前
"MySQL搜不动就上ES"?我先在50万行数据上测了它自带的ngram全文索引
mysql·elasticsearch·搜索引擎
Y003 小时前
PostgreSQL 的锁:为什么你的 ALTER TABLE 会卡住,以及怎么查
数据库·postgresql
imDwAaY3 小时前
Redo Log 和 Binlog 为什么需要两阶段提交?
后端·mysql
灰原喜欢柯南3 小时前
OceanBase 运维管理知识点——OCP 监控、诊断与变更控制
数据库·oceanbase
码农-0043 小时前
Springboot 集成 Ehcache操作数据库显示SQL语句设置
数据库·spring boot·sql
仍然.3 小时前
Redis---事务
数据库·redis
oradh3 小时前
Oracle 执行计划的阅读方法(二叉树结构来理解和阅读)
数据库·oracle·执行计划的阅读方法
SelectDB3 小时前
Doris 向量检索上线踩坑记录:七个排查现场与可直接复制的命令
大数据·数据库·数据分析
数据库小学妹3 小时前
MySQL深分页优化:LIMIT大偏移的根因分析与五种解法对比
数据库·mysql·性能优化