SQL筛选重复数据的方法有多种,下面列举了几种常用的方法:
1. 使用GROUP BY和HAVING子句:使用GROUP BY子句按照重复列进行分组,然后使用HAVING子句筛选出重复的组。
```sql
SELECT column1, column2, COUNT(*) as count
FROM table
GROUP BY column1, column2
HAVING COUNT(*) > 1;
```
2. 使用子查询和IN关键字:使用子查询查找重复的值,然后使用IN关键字筛选出包含重复值的记录。
```sql
SELECT column1, column2
FROM table
WHERE column2 IN (
SELECT column2
FROM table
GROUP BY column2
HAVING COUNT(*) > 1
);
```
3. 使用窗口函数ROW_NUMBER():使用ROW_NUMBER()函数为每条记录添加一个序号,然后筛选出序号大于1的记录。
```sql
WITH cte AS (
SELECT column1, column2, ROW_NUMBER() OVER(PARTITION BY column1, column2 ORDER BY column1) AS rn
FROM table
)
SELECT column1, column2
FROM cte
WHERE rn > 1;
```
以上是几种常用的方法,根据具体情况选择合适的方法进行筛选。