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

MySQL में छात्र स्कोर वाली टेबल से दूसरा सबसे ऊंचा मान कैसे प्राप्त करें

दूसरा सबसे ऊंचा मान लाने के लिए ORDER BY DESC के साथ LIMIT 1,1 का उपयोग करें।

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

mysql> create table DemoTable ( 
    StudentScore int ); 
Query OK, 0 rows affected (0.56 sec)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable values(89); 
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(69); 
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(97); 
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(99); 
Query OK, 1 row affected (0.12 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable;

यह निम्नलिखिक आउटपुट देगा:

+--------------+
| StudentScore |
+--------------+
| 89           |
| 69           |
| 97           |
| 99           |
+--------------+
4 rows in set (0.00 sec)

दूसरा सबसे ऊंचा मान प्राप्त करने की क्वेरी

mysql> select * from DemoTable order by StudentScore DESC limit 1,1;

यह निम्नलिखिक आउटपुट देगा:

+--------------+
| StudentScore |
+--------------+
| 97           |
+--------------+
1 row in set (0.00 sec)

व्याख्या

  • ORDER BY StudentScore DESC अवरोही क्रम: 99, 97, 89, 69
  • LIMIT 1,1 ऑफसेट 1 (दूसरी पंक्ति), 1 पंक्ति लें → 97
  • LIMIT offset, count: offset 0-आधारित है
  • LIMIT 0,1 पहला (सबसे ऊंचा), LIMIT 1,1 दूसरा, आदि

डुप्लिकेट मान होने पर

यदि स्कोर 99, 99, 97, 89 हों तो LIMIT 1,1 दूसरा 99 देगा।

अद्वितीय दूसरा सबसे ऊंचा मान

SELECT DISTINCT StudentScore FROM DemoTable ORDER BY StudentScore DESC LIMIT 1,1;

विंडो फ़ंक्शन (MySQL 8.0+)

SELECT StudentScore FROM (
  SELECT StudentScore, DENSE_RANK() OVER (ORDER BY StudentScore DESC) as rnk
  FROM DemoTable
) t WHERE rnk = 2;
  1. - MySQL टेबल कॉलम के डेटा प्रकार कैसे प्राप्त करें?

    INFORMATION_SCHEMA.COLUMNS से कॉलम डेटा प्रकार क्वेरी करें MySQL टेबल के कॉलम और उनके डेटा प्रकार प्राप्त करने के लिए INFORMATION_SCHEMA.COLUMNS का उपयोग करें। सिंटैक्स SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = डेटाबेस_नाम AND TABLE_NAME = टेबल_नाम; उदाहरण 1. टेबल ब

  1. - MySQL में टेबल से दूसरी-अंतिम (सेकंड लास्ट) रिकॉर्ड प्राप्त करना

    सबक्वेरी के साथ LIMIT 2 और बाहरी ORDER BY ... LIMIT 1 का उपयोग करके अंतिम से दूसरी पंक्ति प्राप्त करें। सिंटैक्स: SELECT * FROM ( SELECT * FROM yourTable ORDER BY idCol DESC LIMIT 2 ) t ORDER BY idCol LIMIT 1; एक टेबल बनाते हैं: CREATE TABLE lastRecordBeforeLastOne ( Id INT NOT NULL AUTO_INC

  1. Java के साथ MySQL डेटाबेस में टेबल से अंतिम रिकॉर्ड कैसे प्राप्त करें? Java के साथ MySQL डेटाबेस में टेबल से अंतिम रिकॉर्ड कैसे प्राप्त करें?

    MySQL डेटाबेस से डेटा प्राप्त करने के लिए, आपको Java से executeQuery() मेथड का उपयोग करना होगा। पहले MySQL डेटाबेस में एक टेबल बनाएं। यहां हम sample डेटाबेस में निम्नलिखित टेबल बनाएंगे: ); Query OK, 0 rows affected (0.80 sec) अब INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी