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

मैं MAX (स्तंभ मान) के साथ पंक्तियों का चयन कैसे कर सकता हूं, SQL में MULTIPLE कॉलम द्वारा DISTINCT

एक विशिष्ट विधि एक सहसंबद्ध उपश्रेणी का उपयोग करती है:

select t.*
from t
where t.date = (select max(t2.date) from t t2 where t2.env = t.env);

शायद थोड़ा बेहतर तरीका है:

select t.*
from t
where t.id = (select t2.id
              from t t2 
              where t2.env = t.env
              order by t2.date desc, t2.id desc
              limit 1
             );

यह थोड़ा बेहतर है क्योंकि (1) 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. PHP घातक त्रुटि:अपरिभाषित फ़ंक्शन पर कॉल करें mysqli_stmt_get_result ()

  2. MySQL 5.7.5+ समूहों के लिए पहली पंक्ति प्राप्त करें

  3. विंडोज़ पर यह pdo::mysql कोड क्रैश क्यों होता है?

  4. मैसकल एक कॉलम से गिनती के मूल्यों का चयन करें

  5. सिद्धांत 2 नया क्षेत्र जोड़ता है जो स्वतः अनुक्रम मान उत्पन्न करता है