gpt4 book ai didi

mysql - 如何删除mysql中唯一的记录?

转载 作者:行者123 更新时间:2023-11-29 09:49:03 25 4
gpt4 key购买 nike

我有一张这样的 table

rowID | StudentName | rollNo | Class
| | |
1 | ABC |10 | 5
2 | ABC |10 | 5
3 | xyz |11 | 5
4 | asd |12 | 5

如何删除类为 5 的所有 unique 记录

这样我就有剩余的 table

rowID | StudentName | rollNo | Class
| | |
1 | ABC |10 | 5

最佳答案

我认为这符合你的要求:

select min(id), StudentName, rollNo, Class
from t
where class = 5
group by StudentName, rollNo, Class
having count(*) > 1;

如果您确实想要删除记录,那么您需要使用delete:

delete t
from t left join
(select studentname, rollno, class, min(id) as min_id, count(*) as cnt
from t
group by studentname, rollno, class
) tt
on t.id = tt.minid and tt.cnt > 1
where tt.minid is null;

关于mysql - 如何删除mysql中唯一的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55153948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com