关于SQL去重的几种方法

1. distinct

select distinct 列名 from 表名

2. row_number

select *, row_number() over (partition by 想去重的列名 order by  列名) as row_num

from 表名

where row_num = 1

3.group by

select 列名 from 表名 group by 列名

重复量多时,GROUP BY总的处理效率比DISTINCT高,重复量低时,DISTINCT就比GROUP BY快一点了,而如果随着整体数据量的增加,效果会越来越明显。

你可能感兴趣的:(关于SQL去重的几种方法)