场景描述如下图所示:
你提供的信息 不够多,
该回答引用ChatGPT
WITH step AS (
SELECT
customer_id,
SUM(CASE WHEN period BETWEEN '2022-01-01' AND '2022-02-28' THEN consumption ELSE 0 END) AS consumption_step
FROM
consumption
GROUP BY
customer_id
),
total AS (
SELECT
customer_id,
SUM(consumption) AS total_consumption
FROM
consumption
WHERE
period BETWEEN '2022-01-01' AND '2022-02-28'
GROUP BY
customer_id
)
SELECT
step.customer_id,
total.total_consumption,
step.consumption_step,
(CASE
WHEN total.total_consumption BETWEEN 0 AND 50 THEN 5
WHEN total.total_consumption BETWEEN 51 AND 100 THEN 10
ELSE 15
END) AS fee
FROM
step
JOIN
total
ON
step.customer_id = total.customer_id;
该语句中,首先创建了两个虚拟表 step 和 total,分别计算了每个客户在阶梯期内和阶梯期外的电量。然后,使用 JOIN 连接这两个表,计算每个客户的总电费。
请注意,此代码仅作为示例,您需要根据自己的数据结构和需求进行适当的修改。
不知道你这个问题是否已经解决, 如果还没有解决的话: