sql去重用法:distinct 和row_number over()和group by 的区别
distinct 和group by 的区别:
(1)distinct常用来查询不重复记录的条数:count(distinct name),group by 常用它来返回不重记录的所有值。
(2)在使用group by 分组后,在select中可以选择分组字段,和非分组字段的函数值,如 max()、min()、sum、count()等
distinct 和row_number over()区别:
(1)distinct 和 row_number over 都可以实现去重功能,而distinct 作用于当行的时候,其"去重" 是去掉表中字段所有重复的数据,作用于多行的时候是,其"去重"所有字段都相同的数据。
(2)在使用row_number over 子句时候是先分组,然后进行排序,再取出每组的第一条记录"去重"