mssql sqlserver 去重关键字distinct和group by 简介


摘要:
下文讲述sqlserver中去重关键字distinct和group by 的应用,如下所示:
实验环境:sql server 2008 R2


在sqlserver 脚本编写中,distinct 和group by关键字都可以用于去重操作,两个关键字具有相同功能,具有不同的效率和使用上的差异。

distinct :
应用于单独的取不重复的值,速度比group by 快
distinct 可应用于单列和多列取不重复值
group by:
具有同distinct相同的取不重复值的功能,还可对所涉及的列进行聚合操作

例:

   create table [maomao365]
   (sort varchar(30), qty int)
   go
    insert into [maomao365]
    (sort, qty)values('博客',8),
     ('博客',10),('博客',2),
     ('个人站',8),('个人站',18)
     go
      
     ---相同去重功能
     select distinct sort from [maomao365]
     go 
    select sort from [maomao365]  group by sort 
    go 
    
    --- group by 去重 聚合功能
    select sort,sum(qty) as [qty]  
         from [maomao365]  group by sort 
    go 
    
    go
  truncate table [maomao365]
  drop       table [maomao365]