我有一个带有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)
希望对您有所帮助!