sql 筛选有重复的id
时间: 2024-09-13 22:19:34 浏览: 33
分享SQL Server删除重复行的6个方法
5星 · 资源好评率100%
在SQL中,筛选出有重复ID的数据通常需要使用GROUP BY和HAVING子句,或者使用DISTINCT关键字配合COUNT函数。这里有两个常见的方法:
1. **使用GROUP BY和HAVING**:
```sql
SELECT id, COUNT(*) as count
FROM your_table
GROUP BY id
HAVING COUNT(*) > 1;
```
这将返回每个ID及其出现的次数,只显示那些计数大于1的行,也就是有重复ID的记录。
2. **使用DISTINCT和NOT EXISTS**:
```sql
SELECT id
FROM (
SELECT DISTINCT id
FROM your_table
) subquery
WHERE NOT EXISTS (
SELECT *
FROM your_table t2
WHERE t2.id = subquery.id AND t2.id <> SUBSTRING_INDEX(subquery.id, ',', -1)
);
```
这里首先找出所有的唯一ID,然后排除那些不是最后一位数字重复的情况,即识别出真正的重复ID。
阅读全文