我有一个仪表读数表,其中包含一个meterNo、readingValue 和 readingDate。
我想显示每年每米读数的总和。
例如:
SELECT meterNo, SUM(readingValue) '2009' FROM readings
WHERE readingDate >= '2009-01-01' AND readingDate <= '2009-12-31'
GROUP BY meterNo;
将显示表格:
meterNo 2009
--------------
4 50
5 5
12 30
13 63
18 18
26 484
27 21
28 510
29 28
这就是我想要的,它显示了 2009 年每个仪表的总读数值。但是,我需要结果表来显示每年的一列。所以它会是这样的:
meterNo 2009 2010 2011 2012
--------------------------------
1 20 35 50
2 45 35
3 50 60
4 50 35 20 30
5 5 10 10 15
6 30
等等...
我可以重用查询的 where 部分:
WHERE readingDate >= '2009-01-01' AND readingDate <= '2009-12-31'
并且只需更改每年的日期,但是如何在一个结果表中将每个 WHERE 结果显示为自己的列?