我有这样的数据:

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

我需要一个查询:
按ID分组=平均NR
按ID+分组,类型A=平均NR A
按ID+分组,B型=平均NR B
我认为请求应该包含一个按顺序分组的组,但我无法使其工作
有人能帮忙吗?

最佳答案

使用条件聚合

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

关于mysql - SQL:在一个语句中进行多个分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52608488/

10-12 16:45