【发布时间】:2014-03-30 02:40:59
【问题描述】:
我是一个相当新的 Postgres 用户,我确信已经有了答案,但我找不到。
我需要分析活动日志表中的一些数据,按时间段对结果进行分组。
问题的一个简单版本是一个包含三个字段的表:
Column | Type | Modifiers
--------------+--------------------------+-------------------------------------
period_start | timestamp with time zone | not null
user_id | text | not null
action | text | not null
我想要捕获的操作字符串可能是“create_entry”(是的,我知道这很糟糕,但我坚持使用它)
我正在寻找的输出是按年和月显示“create_entry”操作计数的报告。比如:
Year | Month | Entries
------+-------+----------
2013 | 12 | 14345
2014 | 1 | 9876
2014 | 2 | 10234
我的直觉是用子查询来解决这个问题,但环顾四周似乎暗示循环可能是要走的路。
无论哪种方式,我都超出了我的深度,正在寻找正确方向的推动力。
编辑
根据我在输入此内容时收到的请求提出的补充问题。上面的变体将显示逐月累积的总数(尽管我想我可以自己根据关于上述方法 - 我只是添加它以防它与方法相关)。
【问题讨论】:
标签: sql postgresql loops aggregate-functions window-functions