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

Групирайте по комбинация от 2 полета и след това подредете по сбора на всяка група, множество анотации django

print(str(high_margin.query))

По този начин можете да получите какво представлява queryset произвежда и играе наоколо като мързелива заявка, както е посочено от отговорете тук. Така че получих очакваната SQL заявка, като просто добавих expiry_date в values , което създава група по име, дата на изтичане, както е посочено от docs .
Кодът се променя като:

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)]

*не съм сигурен дали наистина е правилно




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL (ПО ПОДРАЗБИРАНЕ + ПРИ АКТУАЛИЗИРАНЕ) TIMESTAMPs

  2. mysql точки на заявка в полигона - няма резултати

  3. Оптимизирайте заявката на mysql, за да използвате индекс в клауза побитово where

  4. Падащо меню със заявка за съюз

  5. C програма mysql връзка