Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

तारीखों और एसयूएम मूल्यों के आधार पर Django समूह

हम्म आप 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. PHP स्क्रिप्ट पर MySQL डेटाबेस कैसे दिखाएं?

  2. रिकॉर्ड से HTML टैग हटाएं

  3. कमांड लाइन के माध्यम से mysql में एक csv आयात करना

  4. MySQL IN स्टेटमेंट के लिए PDO बाइंडिंग मान

  5. MySql बाइनरी डेटाटाइप में स्टेटमेंट डालें?