表中有如下字段:部门名称  设备名称
  A          T1
  B          T3
  A          T7
  A          T2
  C          T9现想统计各部门各类设备总数及分项总数,如:部门   设备    该类设备总数    部门所有设备总数
  A     T1           5              36
  A     T2           7              36
  A     T3           4              36
...
  C     T1           2              23
  C     T3           6              23谢谢
  

解决方案 »

  1.   

    select 部门 ,设备,count(*) over (partition by 设备 ) 设备总数,
    count(*) over (partition by 部门 ) 部门所有设备总数from table
      

  2.   


    select 部门名称,
           设备名称,
           count(*) over(partition by 部门名称, 设备名称) 该类设备总数,
           count(*) over(partition by 部门名称) 部门所有设备总数
      from tb
      

  3.   

    select 部门,设备,count(1) 该类设备总数,
      max(count(1)over(partition by 部门))部门所有设备总数
      from tab1
      group by 部门,设备
      

  4.   

    select 部门,设备,count(1) 该类设备总数,
      max(count(1)over(partition by 部门))部门所有设备总数
      from tab1
      group by 部门,设备
      order by 部门,设备
      

  5.   


    select a.*,(select count(1) from tab b where a.设备名称=b.设备名称) as 该类设备总数,
    (select count(1) from tab c where a.部门名称=c.部门名称) as 部门所有设备总数
     from tab a
      

  6.   

    select 部门,设备,count(1) 该类设备总数,
      sum(count(1))over(partition by 部门)部门所有设备总数
      from tab1
      group by 部门,设备
      order by 部门,设备
    上面写错了
      

  7.   

    wildwave 正解 !同时也谢谢各位朋友帮助。