【问题标题】:Query in Oracle between time periods [duplicate]在Oracle中查询时间段[重复]
【发布时间】:2020-12-11 20:03:33
【问题描述】:

我有如下问题,当我查询时,如何返回不同时间段不同列的总和,比如我有这张表:

  ---------------------------
  | PRODUCT | VALUE | MONTH |
  ---------------------------
  | P1      | 10    |  2    |
  | P1      |  5    |  3    |
  | P1      |  22   |  4    |
  | P1      |  4    |  2    |
  | P2      |  4    |  2    |
  | P2      |  7    |  4    |
  | P2      |  10   |  4    |

我希望我有这个结果

  --------------------------------------
  | PRODUCT | MONTH2 | MONTH3 | MONTH4 |
  --------------------------------------
  | P1      | 14       |  5    | 22    |
  | P2      | 4        |  0    | 17    |

【问题讨论】:

    标签: sql oracle pivot


    【解决方案1】:

    您可以使用条件聚合:

    select product,
           sum(case when month = 2 then value end) as month2,
           sum(case when month = 3 then value end) as month3,
           sum(case when month = 4 then value end) as month4
    from t
    group by product;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-14
      • 2013-07-29
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 2020-06-30
      • 2011-04-03
      相关资源
      最近更新 更多