温馨提示×

sql数据去重的方法有哪些

sql
小亿
151
2023-09-14 01:56:37
栏目: 云计算

SQL数据去重的方法有以下几种:

  1. 使用DISTINCT关键字:使用SELECT DISTINCT语句来查询数据,可以去除重复的行。

例如:SELECT DISTINCT column1, column2 FROM table_name;

  1. 使用GROUP BY和HAVING子句:根据某个或多个列进行分组,并使用HAVING子句来筛选出不重复的数据。

例如:SELECT column1, column2 FROM table_name GROUP BY column1, column2 HAVING COUNT(*) = 1;

  1. 使用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;

  1. 使用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数据去重的几种常用方法,可以根据具体情况选择适合的方法来去除重复数据。

0