mysql - 获取不同表mysql中的重复行

标签 mysql duplicates sql-insert sql-delete

我有一个名为“Student”的表,其中包含“Name”和“Roll Number”列

name Roll_Number
    A   1
    A   2
    A   1
    B   2
    B   2
    C   3
    C   2
    D   4

我想从此表中删除名称相同但 Roll_number 不同的所有行,并将这些行插入到新表“Temp”中。所以运行后两个表应该是这样的

表学生

 name Roll_Number
    B   2
    B   2
    D   4

表温度

 name Roll_Number
    A   1
    A   2
    A   1
    C   3
    C   2

因为A和C的Roll_Number列的值不同,所以我们从Student表中删除A和C的所有条目,并将其添加到Temp Table

那么如何通过mysql查询来完成呢?

最佳答案

尝试这样的事情:

对于学生表:

SELECT name, Roll_Number
FROM Student
GROUP BY name
HAVING COUNT(DISTINCT Roll_Number) = 1

对于临时表:

SELECT name, Roll_Number
FROM Student
GROUP BY name
HAVING COUNT(DISTINCT Roll_Number) > 1

关于mysql - 获取不同表mysql中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897199/

相关文章:

python sqlalchemy 在元组数据结构中插入多行

php - 为什么这个 SQL 查询不起作用?

mysql - 如何在 SQL 中转换 PromQL 查询?

javascript - 奇怪的数据库响应

javascript - NodeJS 请求 mysql DB 以异步方式返回值

mysql - 仅根据 2 列计算重复行

sql - 如何在删除重复项的同时合并具有不同列号的两个表?

c - 在 C 中重复数组 "i"次中的每个元素

MySQL INSERT...SELECT 列计数和虚拟/别名列

php - JSON无法通过php正确插入到mysql中