sql:一条语句中的多个groupby

tyg4sfes  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(328)

我有这样的数据:

ID             NR             TYPE 
-------------- -------------- ---------------
01             44             A          
01             66             B          
02             77             A
02             53             B

我需要一个查询:
按id分组=平均编号
按id+类型a分组=平均nr a
按id分组+类型b=平均nr b
我认为请求应该包含一个按顺序排列的组,但我无法使其工作
有人能帮忙吗?

ao218c7q

ao218c7q1#

使用条件聚合

select 
   id, 
   avg(case when type='A' then NR end) as 'AVG(NR A)' ,
   avg(case when type='B' then NR end) as 'AVG(NR B)',
   avg(case when type in ('A','B') then NR end) as 'AVG(NR)'
from tablename
group by id

相关问题