微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按时间间隔对事件进行分组和计数,再加上运行总计

如何解决按时间间隔对事件进行分组和计数,再加上运行总计

如果我理解正确的话,你只是想GROUP BY在你的表中的年,月,对于有每一行actioncreate_entry

SELECT
  DATE_PART('YEAR', period_start) as Year,
  DATE_PART('MONTH', period_start) as Month,
  COUNT(*) as Entries
FROM activity_log
WHERE action = 'create_entry'
GROUP BY Year, Month;

解决方法

我是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

我的本能是通过子查询来攻击它,但是环顾四周似乎暗示着循环可能是解决之道。

无论哪种方式,我都无法尽力寻找正确方向的推动力。

编辑

基于我在键入此请求时出现的一个请求的补充问题。上面的一个变体将显示每月的累积总数(尽管我想我可以根据方法自己弄清楚这一点上面的内容-
我只是在与方法相关的情况下添加此内容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。