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

ORDER BY और GROUP BY का एक साथ उपयोग करना

ऐसा करने का एक तरीका जो group by . का सही उपयोग करता है :

select l.* 
from table l
inner join (
  select 
    m_id, max(timestamp) as latest 
  from table 
  group by m_id
) r
  on l.timestamp = r.latest and l.m_id = r.m_id
order by timestamp desc

यह कैसे काम करता है:

  • प्रत्येक विशिष्ट m_id के लिए नवीनतम टाइमस्टैम्प का चयन करता है सबक्वेरी में
  • केवल table से पंक्तियों का चयन करता है जो सबक्वेरी से एक पंक्ति से मेल खाता है (यह ऑपरेशन - जहां एक जॉइन किया जाता है, लेकिन दूसरी टेबल से कोई कॉलम नहीं चुना जाता है, इसे सिर्फ एक फिल्टर के रूप में उपयोग किया जाता है - इसे "semijoin" अगर आप उत्सुक थे)
  • पंक्तियों का आदेश देता है


  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. PhpMyAdmin में विदेशी कुंजी सेट करना?

  3. SUM . द्वारा MySQL समूह

  4. MySQL की नई हीटवेव को समझना

  5. MySQL डेटाबेस का बैकअप और रिस्टोर कैसे करें?