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

दूसरा उच्चतम वेतन सर्वोत्तम संभव तरीके खोजें

यह सवाल ज्यादातर इंटरव्यू के समय फ्रेशर्स या 1 साल के अनुभव वाले उम्मीदवारों से पूछा जाता है। यहां तक ​​कि यह सवाल मुझसे कई बार पूछा गया था जब मैं वेब डेवलपमेंट के क्षेत्र में आया था।

इसलिए मैं आपको दूसरा या नौवां उच्चतम वेतन खोजने के कुछ संभावित तरीके दिखाने जा रहा हूं।


एक्सप के लिए:कर्मचारी तालिका (ET)

ईआईडी कर्मचारी का नाम वेतन
1 कर्मचारी-1 20,000
2 कर्मचारी-2 22,000
3 कर्मचारी-3 21,000
4 कर्मचारी-4 19,000
5 कर्मचारी-5 21,000

1:- nth उच्चतम वेतन बिना किसी शर्त के कैसे खोजें
इस मामले में आप बहुत ही बुनियादी सीमा और sql की अधिकतम विधियों का उपयोग कर सकते हैं

SELECT DISTINCT(Salary) FROM ET ORDER BY Salary DESC LIMIT n-1,1

जहां n वह स्थिति है जिसकी आप तलाश कर रहे हैं
यदि n=2 क्वेरी बन जाएगी

SELECT DISTINCT(state_id) FROM crm_cities ORDER BY state_id DESC LIMIT 1,1

आउटपुट होगा:21,000

2:- सभी nth उच्चतम वेतन कैसे प्राप्त करें जहां शर्त है कि आपको सभी 2 सबसे अधिक वेतन पाने वाले कर्मचारियों को ढूंढना होगा।
इस मामले में आप sql की उप क्वेरी सुविधा का उपयोग कर सकते हैं।

SELECT Salary FROM ET WHERE Salary = (SELECT DISTINCT(Salary) FROM ET ORDER BY Salary DESC LIMIT n-1,1)

जहां n वह स्थिति है जिसकी आप तलाश कर रहे हैं
यदि n=2 क्वेरी बन जाएगी

SELECT Salary FROM ET WHERE Salary = (SELECT DISTINCT(Salary) FROM ET ORDER BY Salary DESC LIMIT 1,1)

आउटपुट होगा:21,000 , 21,000

3:- LIMIT शर्तों का उपयोग किए बिना दूसरा उच्चतम वेतन कैसे प्राप्त करें।
इस मामले में आप sql में NOT IN शर्तों का उपयोग कर सकते हैं

SELECT MAX(Salary) FROM ET
WHERE Salary NOT IN (SELECT MAX(Salary) FROM ET)

आउटपुट होगा:21,000

4:- LIMIT और सब-क्वेरी का उपयोग किए बिना दूसरा उच्चतम वेतन कैसे प्राप्त करें
इस मामले में आप सेल्फ-जॉइन विधि का उपयोग कर सकते हैं

SELECT MAX( E1.Salary ) FROM ET E1, ET E2 WHERE E1.Salary < E2.Salary
Output will be: 21,000

आशा है कि यह आपकी आवश्यकता के अनुसार सही उत्तर खोजने में आपकी सहायता करेगा..

यदि आप इस पोस्ट को पसंद करते हैं तो कृपया अधिक उपयोगी सामग्री के लिए My Public Notebook को सब्सक्राइब करना न भूलें।


  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. रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS):MSSQL बनाम MySQL

  3. 'लोकलहोस्ट' (10061) पर MySQL सर्वर से कनेक्ट नहीं हो सकता

  4. मैं किसी तालिका या स्तंभ की सभी विदेशी कुंजियाँ कैसे देखूँ?

  5. Php . के साथ MySql डेटाबेस में ब्लॉब्स डालें