【发布时间】:2015-04-18 09:38:21
【问题描述】:
到目前为止我有什么:
这个查询:
SELECT to_char(creationdate, 'DD-MM-YY') AS DATE
,sum(CASE
WHEN internalpriority >= 3
THEN 1
ELSE 0
END) AS
CLOSE
FROM incident
WHERE creationdate BETWEEN (
SELECT DISTINCT (CURRENT_timestamp - (DAYOFWEEK(CURRENT_timestamp) - 0) DAYS - (hour(current_timestamp)) hours - (minute(current_timestamp)) minute) AS MONDAY_OF_CURRENT_WEEK_DATE
FROM incident
)
AND (
SELECT DISTINCT (CURRENT_timestamp - (DAYOFWEEK(CURRENT_timestamp) - 6) DAYS - (hour(current_timestamp)) hours - (minute(current_timestamp)) minute) AS MONDAY_OF_CURRENT_WEEK_DATE
FROM incident
)
GROUP BY to_char(creationdate, 'DD-MM-YY')
得到这个结果(今天是 17 号,所以 14 号是上周六,到目前为止一切都很好)
14-02-15 307
15-02-15 296
16-02-15 687
17-02-15 357
但我也需要
18-02-15 0
19-02-15 0
20-02-15 0
哪些是未来,但如何......
【问题讨论】:
-
解决此问题的最佳方法是使用日历表,您可以在其中有一个未来每一天的条目,您可以简单地加入您的事务表。如果您的数据架构师完全反对创建这样的表格,您可以使用表格表达式为您生成日期列表。