分组记录并在一行中显示每个记录值

时间:2014-12-07 10:32:25

标签: sql ms-access

我在MS访问中使用group by query时遇到问题。 我的表格结构如下。

Number    Date              Marks
1         2011/3/25           20 
1         2012/3/21           50    
1         2013/3/22           22
1         2014/3/25           56  

我想显示如下数据

Number      march-2011    march-2012    march-2013   
 1          20            50            22

有谁可以帮我解决这个问题。我怎样才能在使用查询的ms-access中执行此操作。我是ms-access的新手。

1 个答案:

答案 0 :(得分:0)

此查询只需要条件聚合:

select number,
       sum(iif(year(date) = 2011 and month(date) = 3, Marks, 0)) as March2011,
       sum(iif(year(date) = 2012 and month(date) = 3, Marks, 0)) as March2012,
       sum(iif(year(date) = 2013 and month(date) = 3, Marks, 0)) as March2013
from table
group by number;