每月获得总和

我有这样的SQL:

SELECT (to_char(date_buy,'mm')||'/'||to_char(date_buy,'yyyy')||': '||SUM(quantity)) month
FROM production_hist
WHERE date_buy > SYSDATE-365
AND product_no ='714'
GROUP BY to_char(date_buy,'yyyy')

我得到了这样的结果

month
07/2019: 200
08/2019: 100
09/2019: 250

我想要这样的结果:

Month
01/2019-02/2019-03/2019-04/2019-05/2019-06/2019-07/2019-08/2019-09/2019-10/2019-11/2019-12/2019
   0      0       0        0       0       0       200     100      250    0       0      0

任何人都可以帮忙吗?

b946241223 回答:每月获得总和

您可以使用条件聚合:

SELECT (CASE WHEN date_buy >= date '2019-01-01' and date_buy < date '2019-02-01'
             THEN quantity ELSE 0
        END) as qty_201901,(CASE WHEN date_buy >= date '2019-02-01' and date_buy < date '2019-02-01'
             THEN quantity ELSE 0
        END) as qty_201902,. . .
FROM production_hist
WHERE date_buy > SYSDATE-365 AND
      product_no = 714     -- presumably a number so no quotes
本文链接:https://www.f2er.com/3035761.html

大家都在问