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

क्वेरी पूरी नहीं हुई - MYSQL

<स्ट्राइक>लगता है कि आपको एक समग्र फ़ंक्शन जोड़ने की आवश्यकता है:

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 |



  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 कार्यक्षेत्र से सीमा खंड निकालें

  2. InnoDB केवल रिकॉर्ड डालें यदि संदर्भित आईडी मौजूद है (विदेशी कुंजी के बिना)

  3. MySQL हैशिंग फ़ंक्शन कार्यान्वयन

  4. दिनांक स्ट्रिंग से संभावित इंजेक्शन क्वेरी का चयन करें

  5. प्रति खोज शब्द एक पंक्ति प्रदर्शित करें, यदि नहीं मिला तो डिफ़ॉल्ट रूप से प्रतिस्थापित करें