mysql统计表中姓氏个数
时间: 2023-12-30 14:48:51 浏览: 26
假设有一个名为 `users` 的表,其中有一个 `name` 列,你可以使用以下 SQL 查询语句来统计不同姓氏的个数:
```
SELECT SUBSTRING_INDEX(name, ' ', 1) AS surname, COUNT(*) AS count
FROM users
GROUP BY surname
ORDER BY count DESC;
```
该查询语句将 `name` 列中以空格分隔的字符串视为姓和名,使用 `SUBSTRING_INDEX` 函数提取出姓,然后按姓进行分组并计算每个分组的行数。最后按行数倒序排序,以便看到最常见的姓氏。
相关问题
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` 子句按照系别和人数降序排序。