sql >> Database >  >> RDS >> Mysql

Groepeer op combinatie van 2 velden en sorteer vervolgens op de som van elke groep, meerdere annotaties django

print(str(high_margin.query))

Op deze manier kun je krijgen wat een queryset produceert en speelt rond omdat het een luie vraag is, zoals vermeld door antwoord hier. Dus ik kreeg de verwachte SQL-query door gewoon de expiry_date . toe te voegen in de values , die groep op naam produceert, vervaldatum zoals vermeld door docs .
Code verandert als:

high_margin = StoreInvoiceBreakup.objects \
  .filter(store_invoice__store_id=store_id) \
  .values('product_name', 'expiry_date') \
  .annotate(gross_margin_sum=Sum('gross_margin')) \
  .order_by('gross_margin_sum') \
  .distinct()[:int(sell_range)]

*niet zeker of het juist is




  1. PHP Sorteren op dichtstbijzijnde coördinaten

  2. Best practices voor het efficiënt opslaan van md5-hashes in mysql

  3. Krijg alle gebruikers behalve de huidige ingelogde gebruiker in laravel welsprekend

  4. lijst met schema's met groottes (relatief en absoluut) in een PostgreSQL-database