我有一个带有DateTimeField的模型,我想运行一些查询,以便可以获取其他字段的总和,并按特定的时间间隔进行分组,例如:5min,10min,1hr,3hr等。 我还需要开始和结束的时间间隔。 我需要此查询来绘制一些图表,其中x轴是时间,y轴是其他字段的总和,例如计数总和。
count = models.IntegerField(null=False)
time = models.DateTimeField(null=False)
答案 0 :(得分:0)
我遇到了类似的问题,并且我使用原始SQL从MySQL DB中获取数据。对于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)
希望有帮助!