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

समूह का उपयोग करते समय एक सम्मिलित तालिका में योग कैसे प्राप्त करें - गलत परिणाम प्राप्त करना

मैं समझता हूं कि आप प्रत्येक दिन के लिए चाहते हैं:

  • order_items.energy_used . का योग उस दिन बनाए गए सभी आदेशों के लिए
  • created_at और order_sum जो नवीनतम order . के अनुरूप है उस दिन बनाया गया

आपका नमूना डेटा उस का बहुत प्रतिनिधि नहीं है - इसमें प्रति दिन केवल एक आदेश है। यह भी स्पष्ट नहीं है कि created_at . क्यों दोनों तालिकाओं में दोहराया जाता है; आपको वास्तव में order_id . पर निर्भर होना चाहिए दोनों तालिकाओं को जोड़ने के लिए

यहाँ उपरोक्त उद्देश्य के लिए एक प्रश्न है:यह orders . में शामिल होकर काम करता है एक समग्र क्वेरी वाली तालिका जो प्रति दिन कुल ऊर्जा की गणना करती है (order_id . का उपयोग करके created_at . प्राप्त करने के लिए order . से दिनांक ), और प्रतिदिन नवीनतम ऑर्डर पर फ़िल्टर करें:

select 
    date(o.created_at) date_of_month,
    i.total_energy_used,
    o.created_at last_order_date,
    o.order_sum last_order_sum
from orders o
inner join (
    select date(o1.created_at) date_of_month, sum(i1.energy_used) total_energy_used
    from orders o1
    inner join order_items i1 on o1.id = i1.order_id
    group by date(o1.created_at)
) i on i.date_of_month = date(o.created_at)
where o.created_at = (
    select max(o1.created_at)
    from orders o1
    where date(o1.created_at) = date(o.created_at)
)

डीबी फिडल पर डेमो :

date_of_month | total_energy_used | last_order_date     | last_order_sum
:------------ | ----------------: | :------------------ | -------------:
2020-01-25    |                77 | 2020-01-25 09:13:00 |          25.13
2020-01-26    |                75 | 2020-01-26 10:14:00 |          14.00
2020-01-27    |                 0 | 2020-01-27 11:13:00 |          35.00


  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. जांचें कि क्या उपयोगकर्ता पृष्ठ पर है

  3. mysql के साथ php में फेसबुक लाइक फ्रेंड्स सिस्टम कैसे बनाएं?

  4. MYSQL में सरणी के मान सम्मिलित करना

  5. MySql में एक्सेंट सेंसिटिव सर्च कैसे करें?