mysql统计出每个姓氏的人数
时间: 2023-07-04 21:22:15 浏览: 588
好的,以下是查询每个姓氏的人数的 MySQL 语句:
```
SELECT SUBSTRING_INDEX(name, ' ', 1) as surname, COUNT(*) as count
FROM students
GROUP BY surname
ORDER BY count DESC;
```
其中,`students` 是存储学生信息的表,`name` 是包含学生姓名的列。这条语句会将每个学生的姓名按照空格分隔开,取第一个字符串作为姓氏,然后分组统计每个姓氏的人数,并按照人数从高到低排序。
相关问题
mysql统计xs表中各个姓氏的人数
您可以使用如下的 SQL 语句来实现统计 `xs` 表中各个姓氏的人数:
```
SELECT SUBSTRING(name,1,1) AS surname, COUNT(*) AS count
FROM xs
GROUP BY surname
ORDER BY count DESC;
```
这个 SQL 语句先使用 `SUBSTRING` 函数从 `name` 列中提取出每个人的姓氏,再使用 `GROUP BY` 子句按照姓氏进行分组,并使用 `COUNT` 函数统计每个姓氏的人数。最后使用 `ORDER BY` 子句按照人数降序排序。
mysql统计学生表中各系姓氏的人数
您可以使用如下的 SQL 语句来实现统计学生表中各系姓氏的人数:
```
SELECT d.name AS department, SUBSTRING(s.name, 1, 1) AS surname, COUNT(*) AS count
FROM student s
JOIN department d ON s.department_id = d.id
GROUP BY department, surname
ORDER BY department, count DESC;
```
这个 SQL 语句使用了 `JOIN` 操作将学生表 `student` 和系别表 `department` 进行连接,然后使用 `SUBSTRING` 函数从 `name` 列中提取出每个学生的姓氏,再使用 `GROUP BY` 子句按照系别和姓氏进行分组,并使用 `COUNT` 函数统计每个系别中每个姓氏的人数。最后使用 `ORDER BY` 子句按照系别和人数降序排序。
阅读全文