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

परिकलित फ़ील्ड के लिए Django क्वेरी अभिव्यक्ति जिसके लिए शर्तों और कास्टिंग की आवश्यकता होती है

सशर्त भाव का उपयोग करें :

from django.db.models import Case, F, Sum, When

Stats.objects.values('product').annotate(
    tot_impressions=Sum('impressions'), 
    tot_clicks=Sum('clicks')
).annotate(
    ctr=Case(When(tot_impressions=0, then=None),  # or other value, e.g. then=0
             # 1.0*... is to get float in SQL
             default=1.0*F('tot_clicks')/F('tot_impressions'),
             output_field=models.FloatField())
).order_by('ctr')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा एनम और पोस्टग्रेस्क्ल एनम

  2. postgresql jsonb केस असंवेदनशील क्वेरी

  3. कैसे हल करें org.postgresql.jdbc.PgConnection.createClob () अभी तक लागू नहीं किया गया है

  4. फ़ंक्शन में कॉलम की गतिशील संख्या कैसे लौटाएं?

  5. तैयार वक्तव्य पहले से मौजूद हैं