【发布时间】:2020-09-17 14:56:14
【问题描述】:
我正在尝试从支持票证的多年数据集(tickets 表)构建查询,每个票证的相关列为ticked_id、status、created_on 日期和closed_on 日期.还有一个通用的dates 表,我可以加入/查询日期列表。
我想为今年创建一个“燃尽”图表,显示在今年任何给定日期至少存在一年的未结门票数量。我已经能够创建使用sum(case... 语句按日期分组的表格 - 例如显示在给定的一周内创建了多少票 - 但我无法弄清楚如何每天或每周分组year 当天开放的票数,并且至少有一年的历史。
感谢任何帮助。
示例数据:
ticket_id | status | created_on | closed_on
--------------------------------------------
1 open 1/5/2019
2 open 1/26/2019
3 closed 1/28/2019 2/1/2020
4 open 6/1/2019
5 closed 6/5/2019 1/1/2020
我寻求的示例结果:
Date (2020) | Count of Year+ Aged Tickets
------------------------------------------------
1/1/2020 0
1/2/2020 0
1/3/2020 0
1/4/2020 0
1/5/2020 1
1/6/2020 1
... (skipping dates here but want all dates in results)...
1/25/2020 1
1/26/2020 2
1/27/2020 2
1/28/2020 3
1/29/2020 3
1/30/2020 3
1/31/2020 3
2/1/2020 2
... (skipping dates here but want all dates up to current date in results)...
-
ticket_id 1已于 2020 年 1 月 5 日满一岁,仍在营业 (仍在计数中) -
ticket_id 2已于 2020 年 1 月 26 日满一岁,仍在营业(仍在计数中) -
ticket_id 3于 2020 年 1 月 28 日满一岁,仍然营业,增加计数,但于 2020 年 2 月 1 日关闭,减少计数 -
ticket_id 4仅在 2020 年 6 月 1 日仍营业时才会增加计数,但在此之前关闭则不会增加计数 -
ticket_id 5永远不会出现在计数中,因为它从未达到一岁并且已关闭
【问题讨论】:
-
请用您正在运行的数据库标记您的问题:mysql、oracle、sql-server...?此外,示例数据、预期结果和您当前的查询都会有所帮助。
-
感谢 - 添加了示例数据和预期结果。
标签: sql date join amazon-redshift recursive-query