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

उपयोगकर्ता द्वारा समूह और MYSQL में नवीनतम दिखाएं काम नहीं कर रहा है

जैसा कि रॉबिन के उत्तर पर टिप्पणियों में उल्लेख किया गया है , यह दृष्टिकोण अविश्वसनीय है क्योंकि MySQL यह गारंटी नहीं देता है कि यह हमेशा प्रत्येक समूह से सबसे हाल की स्थिति लौटाएगा। इसके बजाय आपको अपनी तालिका में एक सबक्वेरी के साथ शामिल होना चाहिए जो सबसे हाल की स्थिति का चयन करता है (addedDate के आधार पर) )।

SELECT   *
FROM     status
  NATURAL JOIN (
    SELECT   userID, MAX(addedDate) as addedDate
    FROM     status
    GROUP BY userID
  ) AS mostRecent
ORDER BY addedDate DESC
LIMIT    10

ध्यान दें कि अगर किसी उपयोगकर्ता के पास एक ही addedDate . के साथ कई स्टेटस अपडेट हैं , सर्वर उन सभी को वापस कर देगा (जबकि रॉबिन की क्वेरी एक अनिश्चित वापस कर देगी); यदि आपको ऐसी स्थिति पर नियंत्रण की आवश्यकता है, तो आपको यह परिभाषित करने की आवश्यकता होगी कि कोई कैसे निर्धारित करता है कि इस तरह की स्थिति अद्यतन का चयन किया जाना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 1 या 2 प्रश्नों के साथ थ्रेडेड टिप्पणियां कैसे बनाएं?

  2. mysql(i)_real_escape_string, पर भरोसा करना सुरक्षित है?

  3. उसी तालिका से mysql में परिणाम सूचीबद्ध करें

  4. पीटी-क्वेरी-डाइजेस्ट विकल्प - क्लस्टर कंट्रोल के साथ MySQL क्वेरी प्रबंधन और निगरानी

  5. उन पंक्तियों का चयन कैसे करें जिनमें वर्तमान दिन का टाइमस्टैम्प है?