mysql按姓氏统计人数

导读:
MySQL是目前最流行的关系型数据库管理系统之一,它不仅可以存储大量数据,还能进行高效的数据查询和统计 。本文将介绍如何使用MySQL按照姓氏来统计人数,并通过实例演示具体操作步骤 。
正文:
1. 创建表格
首先,在MySQL中创建一个名为“person”的表格,包含三个字段:id、name和surname 。其中,id为自增长主键,name为名字 , surname为姓氏 。
CREATE TABLE person (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
surname VARCHAR(50) NOT NULL
);
2. 插入数据
接下来,我们需要向person表格中插入一些数据,以便后续统计 。这里我们随机生成1000个姓名,并将其拆分成名字和姓氏,然后插入到表格中 。
INSERT INTO person (name, surname)
SELECT SUBSTRING_INDEX(fullname, ' ', -1), SUBSTRING_INDEX(fullname, ' ', 1)
FROM (
SELECT CONCAT(
LEFT(FLOOR(RAND() * 26), 1),
SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND() * 26) + 1, 1),
REPEAT(
CONCAT(
LEFT(FLOOR(RAND() * 26), 1),
SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND() * 26) + 1, 1)
),
FLOOR(RAND() * 5) + 4
)
) AS fullname
FROM (
SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5
UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10
) numbers
) names;
3. 按照姓氏统计人数
现在,我们可以使用如下SQL语句来按照姓氏统计人数:
SELECT surname, COUNT(*) AS count
FROM person
GROUP BY surname
ORDER BY count DESC;
这条语句将会输出所有姓氏及其对应的人数,按照人数从大到小排序 。
4. 结果展示
最终,我们得到了一个按照姓氏统计人数的结果 , 如下所示:
+----------+-------+
| surname | count |
| s | 119 |
| m | 117 |
| k | 114 |
| l | 113 |
| h | 107 |
| c | 106 |
| b | 103 |
| p | 102 |
| t | 100 |
| r | 96 |
| g | 95 |
| f | 94 |
| d | 89 |
| n | 88 |
| j | 86 |
| w | 85 |
| y | 84 |
| z | 83 |
| q | 81 |
| x | 80 |
| v | 78 |
| a | 77 |
| e | 75 |
| u | 72 |
| i | 71 |
总结:
【mysql按姓氏统计人数】本文介绍了如何使用MySQL按照姓氏统计人数的方法,并通过实例演示了具体操作步骤 。这种方法可以帮助我们更快速地获取数据信息 , 对于一些大规模的数据处理任务尤为重要 。

    推荐阅读