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

MySQL एक सम्मिलित तालिका की पहली पंक्ति लौटाता है

SELECT c.*, d.*
FROM country c 
  INNER JOIN ducks d 
    ON d.id =                         --- guessing the ducks Primary Key here
       ( SELECT dd.id                 --- and here  
         FROM ducks dd
         WHERE c.id = dd.country_id
         ORDER BY dd.rating DESC
         LIMIT 1
       )

(country_id, rating, id) . पर एक अनुक्रमणिका MyISAM तालिका या (country_id, rating) . के लिए InnoDB तालिका के लिए, मदद करेगा।

यह क्वेरी केवल एक duck दिखाएगी प्रति देश, यहां तक ​​कि एक से अधिक की रेटिंग समान होने पर भी। यदि आप चाहते हैं कि बत्तख बंधी हुई रेटिंग के साथ दिखाई दें, तो @imm के GROUP BY का उपयोग करें उत्तर।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. माइस्क्ल TIME_WAIT; बहुत अधिक कनेक्शन समस्या

  2. आप डेटाटाइम फ़ील्ड का यूटीसी कैसे प्राप्त करते हैं?

  3. एकल क्वेरी में एकाधिक चयन कथन

  4. क्या इन दोनों प्रश्नों में कोई अंतर है?

  5. Laravel के धाराप्रवाह क्वेरी बिल्डर के साथ गिनती का चयन कैसे करें?