按相等间隔的聚合时间分组

  • 本文关键字:时间 django django-orm
  • 更新时间 :
  • 英文 :


我有一个带有DateTimeField的模型,我想运行一些查询,以便我可以获取其他字段的总和,按特定时间间隔分组,例如:5分钟,10分钟,1小时,3小时等。 我还需要开始和结束的间隔。 我需要这个查询来绘制一些图表,x 轴是时间,y 轴是其他字段的总和,如计数总和。

   count = models.IntegerField(null=False)
   time = models.DateTimeField(null=False)

我遇到了类似的问题,我使用原始SQL从MySQL数据库获取数据。对于Postgres,SQL的语法应该有所不同,但这可能对您的用例有所帮助。

SELECT TIME(FROM_UNIXTIME(FLOOR((UNIX_TIMESTAMP(CONVERT_TZ(time, @@session.time_zone, '+00:00')))/interval_in_seconds)*interval_in_seconds)) AS x, sum(count) FROM bees_submission group by x
interval_in_seconds = 30 / 60 / 300 (5mins) / 86400 (1day)

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新