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

प्रत्येक समूह से क्वेरी रिटर्न 1 पंक्ति चुनें

इसे हल करने के लिए कई विकल्प हैं, जिनमें से एक मैं अनुशंसा करता हूं कि एक सबक्वेरी में शामिल हो जाएं जो अलग से नवीनतम ID प्राप्त करता है (यह मानते हुए कि कॉलम AUTO_INCREMENT है एड ) प्रत्येक store_ID . के लिए ।

SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT  store_ID, MAX(ID) max_ID
            FROM    tableName
            GROUP BY store_ID
        ) b ON a.store_ID = b.store_ID AND
                a.ID = b.max_ID

बेहतर प्रदर्शन के लिए, इन स्तंभों पर एक अनुक्रमणिका रखना सुनिश्चित करें:ID और store_id

अपडेट 1

यदि आप प्रत्येक रिकॉर्ड के लिए सीमा रखना चाहते हैं, तो नीचे इसका उपयोग करें,

SELECT ID, product_Name, store_ID
FROM   tableName a
WHERE
  (
     SELECT COUNT(*) 
     FROM   tableName b
     WHERE  b.store_ID = a.store_ID AND b.ID >= a.ID
  ) <= 2;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO + MySQL और टूटा हुआ UTF-8 एन्कोडिंग

  2. डेटाबेस प्रशासकों के लिए 15 मूल MySQL साक्षात्कार प्रश्न

  3. MySQL में Key, Primary Key, Unique Key और Index के बीच अंतर

  4. रेल 3 ActiveRecord:एसोसिएशन पर गिनती के आधार पर आदेश

  5. सप्ताहांत को छोड़कर, दो तिथियों के बीच दिनों की गणना करें (केवल MySQL)