0

我希望将两个组的指标组合在一个字段下,而该字段中的其他组保持独立。我该怎么做?

我正在提取操作指标并按不同的 pod 对它们进行分组。我有 pod A、B、C 和 D。我想组合 pod B 和 C 以获得 pod A、pod D 和 pod B_C 组合的指标。

SELECT pod, volume
FROM table
WHERE Date.closed_week BETWEEN STRFTIME_USEC(DATE_ADD(TIME_USEC_TO_WEEK(NOW(), 0), -4, 'Week'), '%F') AND STRFTIME_USEC(DATE_ADD(TIME_USEC_TO_WEEK(NOW(), 0), -1, 'Week'), '%F')
GROUP BY 1

以上为我提供了 pod A、B、C 和 D 的卷。但是,我正在寻找一种方法将 pod B 和 C 的卷组合成一行。(显然这不是我的实际代码,但应该足以理解这一点。)

4

1 回答 1

0

Assuming you are using sum to aggregate (not clear from the question), you can use sum case like so:

SELECT sum(case when pod = 'A' then volume else 0 end) as PodA
    , sum(case when pod in ('B', 'C') then volume else 0 end) as PodBC
    , sum(case when pod = 'D' then volume else 0 end) as PodD
FROM table
WHERE Date.closed_week BETWEEN STRFTIME_USEC(DATE_ADD(TIME_USEC_TO_WEEK(NOW(), 0), -4, 'Week'), '%F') AND STRFTIME_USEC(DATE_ADD(TIME_USEC_TO_WEEK(NOW(), 0), -1, 'Week'), '%F')
于 2019-10-10T22:54:20.930 回答