Mysql
 sql >> база данни >  >> RDS >> Mysql

Django група по дати и стойности SUM

Хм, вие използвате Count , трябва да използвате Sum и values() ще определи какво влиза в GROUP BY така че трябва да използвате values('datetime') само. Вашият набор от заявки трябва да бъде нещо подобно:

from django.db.models import Sum

values = self.model.objects.filter(
    datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data'))

въпреки че не съм толкова сигурен за реда на filter() , така че може да бъде това:

values = self.model.objects.values('datetime').annotate(data_sum=Sum('data')).filter(
    datetime__range=(self.dates[0], self.dates[1])
)

Предполагам, че бихте искали да опитате и двете тогава. Ако искате да видите необработената заявка на тези набори от заявки, използвайте Queryset.query :

print self.model.objects.filter(
    datetime__range=(self.dates[0], self.dates[1])
).values('datetime').annotate(data_sum=Sum('data')).query.__str__()

Така че можете да сте сигурни, че получавате правилната заявка.

Надявам се да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да съпоставя дата на Java с DATETIME в mysql (по подразбиране това е TIMESTAMP) с анотации за хибернация

  2. mySql - създаване на присъединяване с помощта на списък със стойности, разделени със запетая

  3. Как да направя генератор на редове в MySQL?

  4. php - Разрешаване на потребителите да предпочитат публикации

  5. Научете за разрешенията на ниво таблица на MySQL