【发布时间】:2019-02-11 07:19:12
【问题描述】:
目前,我有一个由encounter_id 和date 字段组成的表,如下所示:
+---------------------------+--------------------------+
|encounter_id |date |
+---------------------------+--------------------------+
|random_id34234 |2018-09-17 21:53:08.999999|
|this_can_be_anything2432432|2018-09-18 18:37:57.000000|
|423432 |2018-09-11 21:00:36.000000|
+---------------------------+--------------------------+
encounter_id 是一个随机字符串。
我的目标是创建一个包含过去 30 天内遭遇总数的列。
+---------------------------+--------------------------+---------------------------+
|encounter_id |date | encounters_in_past_30_days|
+---------------------------+--------------------------+---------------------------+
|random_id34234 |2018-09-17 21:53:08.999999| 2 |
|this_can_be_anything2432432|2018-09-18 18:37:57.000000| 3 |
|423432 |2018-09-11 21:00:36.000000| 1 |
+---------------------------+--------------------------+---------------------------+
目前,我正在考虑以某种方式使用窗口函数并指定一个聚合函数。
感谢您的时间。
【问题讨论】:
-
能否请您添加您的预期输出?
-
当然。预期的输出是列 total_encounters_in_the_past_30_days,其中第一个条目将是 2(最后一个条目和第一个条目的出现),第二个条目将是 3(所有条目的出现),第三个条目将仅为 1(本身)。
-
你的问题太不清楚了,很难做任何事情。聚合的基础应该是什么,换句话说
groupby是什么?encounters_in_past_30_days是如何获得2/3/1的?第一个条目2如何?他们有不同的date和encounter_id。分组的依据是什么?这是一个开放式问题。