Sql Vertica按月份汇总数据
我有一张像这样的Vertica桌子:Sql Vertica按月份汇总数据,sql,vertica,Sql,Vertica,我有一张像这样的Vertica桌子: date number '2016-01-01' 47 '2016-01-02' 32 '2016-04-13' 54 我想这样总结一下: Jan Feb Mar Apr ... 150 102 30 0 其中第二行是该月所有数字的总和 我该怎么做 您需要在每一列上创建一个sum,并使用case语句仅对正确的值求和 SELECT SUM(CASE WHEN MONTH("DATE") = 1 THEN "NUMBER" END) Jan,
date number
'2016-01-01' 47
'2016-01-02' 32
'2016-04-13' 54
我想这样总结一下:
Jan Feb Mar Apr ...
150 102 30 0
其中第二行是该月所有数字的总和
我该怎么做 您需要在每一列上创建一个sum,并使用case语句仅对正确的值求和
SELECT SUM(CASE WHEN MONTH("DATE") = 1 THEN "NUMBER" END) Jan,
SUM(CASE WHEN MONTH("DATE") = 2 THEN "NUMBER" END) Feb,
SUM(CASE WHEN MONTH("DATE") = 3 THEN "NUMBER" END) Mar,
SUM(CASE WHEN MONTH("DATE") = 4 THEN "NUMBER" END) Apr,
SUM(CASE WHEN MONTH("DATE") = 5 THEN "NUMBER" END) May,
SUM(CASE WHEN MONTH("DATE") = 6 THEN "NUMBER" END) Jun,
SUM(CASE WHEN MONTH("DATE") = 7 THEN "NUMBER" END) Jul,
SUM(CASE WHEN MONTH("DATE") = 8 THEN "NUMBER" END) Aug,
SUM(CASE WHEN MONTH("DATE") = 9 THEN "NUMBER" END) Sep,
SUM(CASE WHEN MONTH("DATE") = 10 THEN "NUMBER" END) Oct,
SUM(CASE WHEN MONTH("DATE") = 11 THEN "NUMBER" END) Nov,
SUM(CASE WHEN MONTH("DATE") = 12 THEN "NUMBER" END) Dec
FROM mytable
您还可以每年添加另一个字段来执行此操作,然后对其进行分组/订购(如果您希望这样做的话)<代码>年份(“日期”)生成数字1-12,并为每个月添加左连接,求和数字,按从日期中提取的月份分组!我需要什么!