在我的表格中,我有以下几列:
id|name|gender
我想提取所有重复的名称,但是我不想扫描所有数据库以逐条记录每个记录…我只想知道谁拥有相同的名字…示例:
0|mary|F 1|tom|M 2|peter|M 3|mary|F 4|chris|M 5|chris|F 6|alex|M
我只想得到:玛丽和克里斯…但是我不想一次读取所有记录…有什么想法吗?谢谢你。
SELECT name FROM Mytable GROUP BY name HAVING COUNT(*) > 1
要也区分性别,请将GROUP BY更改为 name, gender
name, gender
删除重复的行
DELETE MyTable WHERE ID NOT IN ( SELECT MIN(Id) FROM Mytable GROUP BY name )