小编Dav*_*veM的帖子

MySQL - 将来自同一个表的多个选择组合成一个带有group by的结果表

我有一个仪表读数表,其中包含一个米,没有读数值和读数日期.

我想显示每年每年读数的总和.

例如:

SELECT meterNo, SUM(readingValue) '2009' FROM readings
WHERE readingDate >= '2009-01-01' AND readingDate <= '2009-12-31'
GROUP BY meterNo;
Run Code Online (Sandbox Code Playgroud)

将显示表格:

   meterNo  2009
   --------------
     4       50
     5       5
     12      30
     13      63
     18      18
     26      484
     27      21
     28      510
     29      28
Run Code Online (Sandbox Code Playgroud)

这就是我想要的,它显示了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
Run Code Online (Sandbox Code Playgroud)

等等...

我可以重用查询的where部分:

WHERE readingDate >= '2009-01-01' AND readingDate <= …
Run Code Online (Sandbox Code Playgroud)

mysql sql database pivot

1
推荐指数
1
解决办法
6693
查看次数

标签 统计

database ×1

mysql ×1

pivot ×1

sql ×1