小编典典

我可以提取在sql中重复的提取记录吗?

sql

在我的表格中,我有以下几列:

id|name|gender

我想提取所有重复的名称,但是我不想扫描所有数据库以逐条记录每个记录…我只想知道谁拥有相同的名字…示例:

0|mary|F
1|tom|M
2|peter|M
3|mary|F
4|chris|M
5|chris|F
6|alex|M

我只想得到:玛丽和克里斯…但是我不想一次读取所有记录…有什么想法吗?谢谢你。


阅读 140

收藏
2021-04-14

共1个答案

小编典典

SELECT
   name
FROM
   Mytable
GROUP BY
   name
HAVING
   COUNT(*) > 1

要也区分性别,请将GROUP BY更改为 name, gender

删除重复的行

DELETE MyTable
WHERE ID NOT IN
   (
    SELECT
       MIN(Id)
    FROM
       Mytable
    GROUP BY
       name
   )
2021-04-14