首页 > 解决方案 > 编写一个 sql 查询以获取具有多个值的记录

问题描述

我有一张桌子,上面有卷号,名字。但是对于某些卷号,有不同名称的记录

在里面

在此处输入图像描述

表中,卷号 2 和 6 有多个卷号相同但名称不同的记录。

我需要编写一个查询/游标来从上表 Student 中获取此类记录。

例如:表 - 学生

|Roll No.| Name |
| -------| -----|
| 1      | A    |
| 1      | A    |
| 2      | B    |
| 2      | C    |
| 2      | D    |
| 3      | E    |
| 3      | E    |
| 4      | F    |
| 5      | G    |
| 6      | H    |
| 6      | I    |

预期输出应为 2、6(具有多条记录但名称不同的卷号)

数字 1、3 不应出现在预期结果中,因为它们在所有记录中都具有相同的名称

标签: mysqlsqlmainframe

解决方案


在 MySQL 中,您可以执行下一个查询:

select roll_no
from Student
group by roll_no
having count(distinct name) > 1;

MySQL 分组

结果:

+=========+
| roll_no |
+=========+
| 2       |
+---------+
| 6       |
+---------+

推荐阅读