SQL数据去重的方法有以下几种:
1. 使用DISTINCT关键字:使用SELECT DISTINCT语句来查询数据,可以去除重复的行。
例如:SELECT DISTINCT column1, column2 FROM table_name;
2. 使用GROUP BY和HAVING子句:根据某个或多个列进行分组,并使用HAVING子句来筛选出不重复的数据。
例如:SELECT column1, column2 FROM table_name GROUP BY column1, column2 HAVING COUNT(*) = 1;
3. 使用ROW_NUMBER()和CTE(公共表表达式):使用ROW_NUMBER()函数给每一行数据分配一个唯一的序号,然后使用CTE将这些序号为1的行筛选出来。
例如:
WITH CTE AS (
SELECT column1, column2, ROW_NUMBER() OVER(PARTITION BY column1, column2 ORDER BY column1, column2) AS rn
FROM table_name
)
SELECT column1, column2
FROM CTE
WHERE rn = 1;
4. 使用EXISTS子查询:使用子查询来判断是否存在重复的数据,然后进行筛选。
例如:
SELECT column1, column2
FROM table_name t1
WHERE NOT EXISTS (
SELECT 1
FROM table_name t2
WHERE t1.column1 = t2.column1
AND t1.column2 = t2.column2
AND t1.id != t2.id
);
以上是SQL数据去重的几种常用方法,可以根据具体情况选择适合的方法来去除重复数据。