关于SQL去重的几种方法

关于SQL去重的几种方法,第1张

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快一点了,而如果随着整体数据量的增加,效果会越来越明显

distinct。

SQLserver中很明显的去重复的语句是distinct。selectdistinct是去除重复的记录行,count(distinctColumn),消除重复值。还有一些不明显的具有去重功能的词,例如union,会去除重复的记录行或值。

DISTINCT 关键字可从 SELECT 语句的结果中消除重复的行。如果没有指定 DISTINCT,将返回所有行,包括重复的行。例如,如果选择 ProductInventory 中的所有产品 ID 时没有使用 DISTINCT,将返回 1069 行。\x0d\x0a\x0d\x0a如果使用了 DISTINCT,就可以消除重复的行,只查看唯一的产品 ID:\x0d\x0a \x0d\x0aUSE AdventureWorks\x0d\x0aGO\x0d\x0aSELECT DISTINCT ProductID\x0d\x0aFROM Production.ProductInventory\x0d\x0a\x0d\x0a此查询将返回 432 行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9621783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存