<स्ट्राइक>लगता है कि आपको एक समग्र फ़ंक्शन जोड़ने की आवश्यकता है:स्ट्राइक>
SELECT CD_NO, purchase_date, Count(purchase_date) totalSales
FROM Artist
GROUP BY purchase_date
ORDER BY CD_NO
MySQL आपको उन फ़ील्ड की संख्या सीमित करने की अनुमति देता है जिन्हें आप GROUP BY
. करते हैं तो यह ऊपर केवल purchase_date
. को समूहीकृत कर रहा है ।
अन्य RDBMS में, आप एक सबक्वेरी का उपयोग कर सकते हैं:
SELECT a1.CD_NO, a1.purchase_date, a2.TotalSalesByDate
FROM Artist a1
INNER JOIN
(
SELECT count(purchase_date) TotalSalesByDate, purchase_date
FROM Artist
GROUP BY purchase_date
) a2
on a1.purchase_date= a2.purchase_date
ORDER BY a1.CD_NO
संपादित करें:आपके अपडेट के आधार पर, आपको कुछ इसी तरह का उपयोग करने में सक्षम होना चाहिए:
SELECT a1.CD_NO, date_format(a1.purchase_date, '%Y-%m-%d') MostSales
FROM Artist a1
INNER JOIN
(
SELECT count(purchase_date) TotalSalesByDate, purchase_date
FROM Artist
GROUP BY purchase_date
) a2
on a1.purchase_date= a2.purchase_date
group by a1.CD_NO, a1.purchase_date
having max(TotalSalesByDate) = (select max(Total) totalsales
from
(
SELECT cd_no, purchase_date, Count(purchase_date) Total
FROM Artist a1
GROUP BY cd_no, purchase_date
) src
where a1.cd_no = src.cd_no
GROUP BY cd_no);
देखें SQL Fiddle with Demo
परिणाम:
| CD_NO | MOSTSALES |
----------------------
| 1 | 2011-12-30 |
| 2 | 2012-03-22 |
| 3 | 2012-04-22 |
| 3 | 2012-04-24 |