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

mysql में प्रत्येक व्यक्ति के लिए दूसरा उच्चतम वेतन प्राप्त करें

एग्रीगेट फंक्शन और सेल्फ जॉइन का उपयोग करके आप कुछ ऐसा कर सकते हैं

select a.*
from demo a
left join demo b on a.person_id = b.person_id
group by a.person_id,a.salary
having sum(a.salary < b.salary) = 1 /* 0 for highest 1 for second highest 2 for third and so on ... */

या sum . में पूर्ण केस एक्सप्रेशन का उपयोग करना

having sum(case when a.salary < b.salary then 1 else 0 end)  = 1

डेमो



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सामान्य त्रुटि:1005 Laravel स्कीमा बिल्ड और विदेशी कुंजी का उपयोग कर तालिका नहीं बना सकता

  2. MySQL का USERNAME और PASSWORD कैसे बदलें?

  3. MySQL DAYOFWEEK () - मेरा सप्ताह सोमवार से शुरू होता है

  4. क्या यह क्वेरी एसक्यूएल इंजेक्शन से सुरक्षित है?

  5. MySQL DB के प्रति सेकंड InnoDB लिखने की गति में सुधार कैसे करें