यह आपकी क्वेरी है:
SELECT p.title, COUNT(t.qty) AS total
-------^
FROM payments t LEFT JOIN
products AS p
ON p.id = t.item
WHERE t.user = 1
GROUP BY t.item
---------^
ORDER BY t.created DESC;
---------^
पॉइंट टू प्लेसेस में दिक्कतें हैं। ध्यान दें कि SELECT
और GROUP BY
अलग कॉलम का जिक्र कर रहे हैं। एक LEFT JOIN
. में , आप (काफ़ी हद तक) हमेशा पहले . में किसी चीज़ से एकत्रित करना चाहते हैं तालिका, दूसरी नहीं।
ORDER BY
एक और समस्या है। आप इस कॉलम से एकत्र नहीं कर रहे हैं, इसलिए आपको यह तय करना होगा कि आपको कौन सा मूल्य चाहिए। मैं अनुमान लगा रहा हूँ MIN()
या MAX()
:
SELECT p.title, COUNT(t.qty) AS total
FROM payments t LEFT JOIN
products AS p
ON p.id = t.item
WHERE t.user = 1
GROUP BY p.title
ORDER BY MAX(t.created) DESC;
मैं वह COUNT(t.qty)
भी जोड़ूंगा संदिग्ध है। आम तौर पर qty
"मात्रा" को संदर्भित करता है और आप जो चाहते हैं वह योग है:SUM(t.qty)
।