Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में LIMIT OFFSET का उपयोग करके कॉलम में nth सबसे बड़ा मान कैसे खोजें

LIMIT और OFFSET के साथ nth उच्चतम मान प्राप्त करना

कॉलम में nth उच्चतम मान प्राप्त करने के लिए LIMIT ... OFFSET का उपयोग करें। OFFSET का उपयोग मानों को छोड़ने (स्किप) के लिए किया जाता है।

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    Value INT
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES (100);
mysql> INSERT INTO DemoTable VALUES (140);
mysql> INSERT INTO DemoTable VALUES (90);
mysql> INSERT INTO DemoTable VALUES (80);
mysql> INSERT INTO DemoTable VALUES (89);
mysql> INSERT INTO DemoTable VALUES (98);
mysql> INSERT INTO DemoTable VALUES (58);

सभी रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------+
| Value |
+-------+
| 100   |
| 140   |
| 90    |
| 80    |
| 89    |
| 98    |
| 58    |
+-------+

कॉलम में nth उच्चतम मान प्राप्त करने के लिए क्वेरी। यहां हम OFFSET 3 का उपयोग करके 3 मानों को छोड़ रहे हैं। ORDER BY के साथ यह 4था उच्चतम मान देता है:

mysql> SELECT Value FROM DemoTable
    ORDER BY Value DESC
    LIMIT 1 OFFSET 3;

आउटपुट:

+-------+
| Value |
+-------+
| 90    |
+-------+

व्याख्या:

  1. ORDER BY Value DESC मानों को डिसेंडिंग ऑर्डर में सॉर्ट करता है: 140, 100, 98, 90, 89, 80, 58
  2. OFFSET 3 पहले 3 मानों (140, 100, 98) को छोड़ देता है
  3. LIMIT 1 अगला 1 मान (90) लेता है
  4. परिणाम: 4था उच्चतम मान = 90

सामान्य सूत्र: Nth उच्चतम मान के लिए: LIMIT 1 OFFSET N-1

  • 1st उच्चतम: LIMIT 1 OFFSET 0 (या केवल LIMIT 1)
  • 2nd उच्चतम: LIMIT 1 OFFSET 1
  • 3rd उच्चतम: LIMIT 1 OFFSET 2
  • Nth उच्चतम: LIMIT 1 OFFSET N-1

नोट: यदि डुप्लिकेट मान हैं और आप डिस्टिंक्ट nth उच्चतम चाहते हैं, तो SELECT DISTINCT Value ... का उपयोग करें।

  1. - MySQL में DISTINCT ORDER BY DESC LIMIT OFFSET से Nth उच्चतम मान चुनें

    MySQL में DISTINCT, ORDER BY DESC, और LIMIT ... OFFSET का संयोजन उपयोग करके Nth उच्चतम विशिष्ट मान प्राप्त कर सकते हैं। सिंटैक्स SELECT DISTINCT कॉलम_नाम FROM टेबल_नाम ORDER BY कॉलम_नाम DESC LIMIT (N-1), 1; उदाहरण: 3rd उच्चतम अंक (N=3) 1. टेबल बनाएं CREATE TABLE DemoTable1594 (Marks INT); 2. डे

  1. - MySQL में ENUM कॉलम से केवल 'NO' मानों की गणना करें

    MySQL में ENUM कॉलम पर सशर्त गणना के लिए बूलियन अभिव्यक्ति का योग (SUM(condition)) उपयोग कर सकते हैं। MySQL में TRUE = 1 और FALSE = 0 होता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1829 ( Name VARCHAR(20), isTopper ENUM(YES,NO) ); डेटा डालें mysql> INSERT INTO DemoTable1829 VALUES(

  1. - MySQL में टेबल में मौजूद न होने वाले मानों को कैसे क्वेरी करें?

    MySQL में किसी टेबल में मौजूद नहीं होने वाले मानों को खोजने के लिए, UNION ALL के साथ WHERE NOT EXISTS या NOT IN का उपयोग करें। यह गैप विश्लेषण या मिसिंग सीक्वेंस खोजने के लिए उपयोगी है। उदाहरण: मिसिंग ऑटो-इन्क्रीमेंट मान खोजना ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql> CREATE TABLE DemoTable1918 (