首页 > 试题广场 >

查找重复数据

[编程题]查找重复数据
  • 热度指数:95 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

表: 学生表

+-------------+---------+
| 字段名称     | 类型     |
+-------------+---------+
| 学号     | int     |
| 姓名     | varchar     |
+-------------+---------+

学号是该表的主键。
该表的每一行表示 一名学生的学号、姓名信息。

 

请分析按照学生姓名去重后的结果。

查询结果如下例所示。

 

示例 1:

输入: 表:学生表
+------+----+
| 学号   | 姓名 |
+------+----+
| 0001 | 猴子 |
| 0002 | 小马 |
| 0003 | 小王 |
| 0004 | 小王 |
| 0005 | 猴子 |
+------+----+ 输出: +----+
| 姓名 |
+----+
| 猴子 |
| 小王 |
+----+ 解释: 猴子、小王是学生表中重复的学生姓名。
示例1

输入

CREATE TABLE 学生表
(
    学号        INT,
    姓名        VARCHAR(512)
);
INSERT INTO 学生表 (学号, 姓名) VALUES (0001, '猴子');
INSERT INTO 学生表 (学号, 姓名) VALUES (0002, '小马');
INSERT INTO 学生表 (学号, 姓名) VALUES (0003, '小王');
INSERT INTO 学生表 (学号, 姓名) VALUES (0004, '小王');
INSERT INTO 学生表 (学号, 姓名) VALUES (0005, '猴子');

输出

姓名
猴子
小王
select 姓名
from 学生表
group by 1
having count(*)>=2

发表于 2025-10-19 16:31:15 回复(0)
select 姓名
from 学生表
group by 姓名
having count(*) > 1

发表于 2025-10-03 14:19:46 回复(0)