标签归档:group by用法举例

mssql sqlserver 使用sql脚本获取部门中收入最多前十个的员工


摘要:
下文讲述使用sql脚本获取部门中收入最多的员工信息,如下所示:
实验环境:sql server 2008 r2


下文讲述使用group by 获取部门中员工收入最多的员工

实现思路:
使用group by 对数据进行群组,然后再获取前十条数据

      select top 10 * from 
       (
          select [name],sum([收入]) as all from [收入表] 
          group by [name]
       )  as t 
       order by t.all desc 

mssql sqlserver 使用sql脚本获取数据表中相同列值出现的次数


摘要:
下文通过使用sql脚本统计出数据表中相同列值出现次数的方法,如下所示
实验环境:sql server 2008 R2



实现思路:
采用count统计符合条件的结果集,count统计时注意列值为null
使用group by对列值进行群组 

例:

create table [maomao365]
(name varchar(10) ,writeDate datetime default getdate()
 )
 go
 
 insert into [maomao365]
 (name)values
 ('sqlblog'),('猫猫小屋'),('猫猫小屋'),
 ('sqlserver'),('sqlblog'),('sql爱好者'),
 ('sqlblog'),('MSSQL'),('数据库')
 go
 
 ---统计数据表中,列值name相同值的个数
 
 select
 isnull(name,'') as name,
 count(isnull(name,''))  as [相同值个数]
 from [maomao365]
 group by isnull(name,'')
 
 
 go
 truncate table [maomao365]
 drop     table [maomao365]

mssql sqlserver group by 聚合函数用法汇总说明


摘要:
下文将阐述group by 关键字的主要用法,如下所示:
实验环境:sql server 2008 R2


group by 关键字简介

group by 关键字是将select 查询结果集进行聚合操作的函数,如果select 中展示列未使用聚合函数,则必须将此列放入group by后面进行相关的群组操作。
group by 的功能:对数据集合进行群组操作,将查询集分成若干个小区域进行分类聚合计算,并将聚合计算后的结果返回给客户端。
例:

   ---原始数据表建立:
   create table [maomao365.com]
   (
     sort nvarchar(30),
     qty  int ,
     sortExtend varchar(30)
   )
   go
   ---期初数据插入
   insert into [maomao365.com]
          (sort, qty,sortExtend)   values
          ('A',10,'T'),('B',30,'T'),
          ('A',88,'T2'),('C',56,'T3'),
          ('D',9,'T6'),('E',10,'T6')
     go
   
 
---- group by 基础用法,分类汇总
   select sort, sum(qty)  as [数量汇总]
     from [maomao365.com]
   group by sort      

---- group by order by
     select sort, sum(qty)  as [数量汇总]
     from [maomao365.com]
   group by sort    
    order by  sum(qty)  asc

----group by 多字段
select sort,sortExtend, sum(qty)  as [数量汇总]
     from [maomao365.com]
      group by sort ,sortExtend
     
---group by 聚合后数据判断
    select sort, sum(qty)  as [数量汇总]
     from [maomao365.com]
   group by sort    
  having sum(qty)  >20
   
   go
   truncate table    [maomao365.com]
   drop       table   [maomao365.com]