我是一个新的配置单元用户,需要为给定的表聚合金额总和。考虑下面的简化示例:
SELECT day, sum(amount) FROM tableX WHERE columnA = 'RareValue' GROUP BY day;
假设有可能没有与中的条件匹配的行条目 WHERE
一些日期的条款。因此查询结果将跳过这些天。
例如,我得到的结果是:
date amount
2018-01-15 230
2018-01-13 210
2018-01-12 140
2018-01-11 222
但这是期望的结果:
date amount
2018-01-15 230
2018-01-14 0
2018-01-13 210
2018-01-12 140
2018-01-11 222
我试着生成一个日期序列,然后使用 LEFT JOIN
以及 COALESCE
用零填充空日期。然而,演出非常缓慢。最好的方法是什么?
2条答案
按热度按时间62lalag41#
假设你想排除一整天,以防你的where条件为真,你可以这样做
我没有机会测试它:)
5anewei62#
如果我理解正确的话,所有需要的天数都列在表格中。因此,我建议首先选择columna不等于'rarevalue'的所有行,并将其与查询合并。
如果从第一次选择开始的日期重复,您可以添加“distinct”