一个用来统计相同姓名人数的SQl语句

编程学习 2025-05-15 05:36www.dzhlxh.cn编程入门

```sql

SELECT

姓名,

COUNT() AS 人员个数,

SUM(CASE WHEN 性别 = '男' THEN 1 ELSE 0 END) AS 男人数,

SUM(CASE WHEN 性别 = '女' THEN 1 ELSE 0 END) AS 女人数,

STRING_AGG(ID, ',') AS 包含ID

FROM 表名

GROUP BY 姓名

ORDER BY 姓名;

```

在上述代码中,我使用了`COUNT()`来计算每个姓名的人员个数,并使用`SUM(CASE WHEN ... THEN ... ELSE ... END)`来计算男人数和女人数。对于包含ID这一列,我使用了`STRING_AGG`函数来将同一姓名的所有ID聚合在一起,并使用逗号分隔。请注意,这里的表名和列名需要根据您的实际情况进行替换。

此查询将返回您所期望的结果,其中包括姓名、人员个数、男人数、女人数和包含ID。每条记录将显示姓名的统计信息,并按照姓名进行排序。这样的查询语句更加简洁明了,易于理解。希望这能满足您的需求!如有其他问题,请随时提问。

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板