如何构建此SQL摘要?

时间:2012-08-16 11:32:40

标签: sql ruby-on-rails activerecord

a project has_many tasks
a task can be assigned to many members

例如:

Project   Task  Member
-------   ----  ------
   P1      T1     M1
   P1      T2     M2
   P2      T1     M1
   P2      T2     M2
   P2      T3     M1
   P3      T1     M2

我想得到以下摘要,即项目的最后一项任务按成员细分:

 ------ ---
 T1      3
 - M1    2
 - M2    1
 T2      2
 - M2    2
 T3      1
 - M1    1

如何构建SQL?

1 个答案:

答案 0 :(得分:1)

使用以下SQL

   select task, null as member, COUNT(*) as count from yourtable group by task
   union
   select task, member, COUNT(*) from yourtable group by task, member
   order by task, member