【发布时间】:2021-03-19 05:21:42
【问题描述】:
我有一个如下所示的表格:
| Account # | Open Date | Close Date |
|---|---|---|
| 123 | 01/01/2018 | 04/04/2019 |
| 234 | 01/03/2018 | 03/04/2018 |
我正在尝试创建一个统计年底未结帐户的表格,如下所示:
| Year | End of Year Date | # of Open Accounts |
|---|---|---|
| 2018 | 12/31/2018 | 1 |
我还有一张带有规范日期的表格,它只是一张装满日期的巨型表格。有许多帐户具有许多打开和关闭日期。开放日期早在 2001 年,关闭日期截至今天(包括今天)。一个帐户只能有一个开放日期,而不能有一个关闭日期 - 在这种情况下,它将被计为当年的开放日期。
使用 SQL 实现此目的的好方法是什么?
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
-
在哪里
cast('20181231' as date) between <opendate> and <closedate> -
带有规范日期的表格是什么样的?
-
您只想计算 2018 年专门开设但没有关闭日期的帐户?
-
Canonical Date 表记录了从 2000 年到 2025 年的每个日期,并且有年、月、星期几、月中日、年中周、年中日等。
标签: sql datetime count inner-join snowflake-cloud-data-platform