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

MySQL में हर Nth रो कैसे प्राप्त करें

कभी-कभी आपको MySQL में प्रत्येक nth पंक्ति प्राप्त करने की आवश्यकता हो सकती है, या अपनी तालिका में प्रत्येक nth पंक्ति वापस करने की आवश्यकता हो सकती है। इस लेख में हम देखेंगे कि MySQL में प्रत्येक nth पंक्ति का चयन कैसे करें।


MySQL में प्रत्येक Nth Row कैसे प्राप्त करें

हम प्रत्येक Nth पंक्ति को तालिका में प्राप्त करने के दो तरीकों पर ध्यान देंगे - जब आपके पास अनुक्रमिक संख्याओं के साथ एक id जैसा कॉलम हो, और जब आपके पास एक न हो।

मान लें कि आपके पास निम्न तालिका है बिक्री (आईडी, राशि) . हमारे पहले उदाहरण के लिए, आईडी कॉलम में अनुक्रमिक पंक्ति आईडी शामिल हैं - 1, 2, 3, …

mysql> create table sales(id int, amount int);
mysql> insert into sales(id,amount)
       values(1,100),
       (2,300),
       (3,250),
       (4,150),
       (5,200);

mysql> select * from sales;
+----+--------+
| id | amount |
+----+--------+
|  1 |    100 |
|  2 |    300 |
|  3 |    250 |
|  4 |    150 |
|  5 |    200 |
+----+--------+

बोनस पढ़ें :मौजूदा तालिका में ऑटो इंक्रीमेंट कैसे जोड़ें

यहाँ MySQL में प्रत्येक nth पंक्ति का चयन करने के लिए SQL क्वेरी है।

mysql> select * from table_name where table_name.id mod n = 0;

उपरोक्त क्वेरी में, हम मूल रूप से प्रत्येक पंक्ति का चयन करते हैं जिसका id mod n मान शून्य हो जाता है। तो हमें id n, 2n, 3n, … के साथ पंक्तियाँ मिलती हैं table_name . बदलें अपनी तालिका के नाम के साथ, और n प्रत्येक nवीं पंक्ति के साथ जिसे आप वापस करना चाहते हैं।

बिक्री तालिका से प्रत्येक दूसरी पंक्ति को वापस करने के लिए यहां एक उदाहरण दिया गया है।

mysql> select * from sales where sales.id mod 2 = 0;
+----+--------+
| id | amount |
+----+--------+
|  2 |    300 |
|  4 |    150 |
+----+--------+

बोनस पढ़ें :MySQL में nवीं पंक्ति कैसे खोजें

यदि आपकी तालिका में अनुक्रमिक संख्याओं के साथ आईडी जैसा स्तंभ नहीं है, तो तालिका से प्रत्येक nवीं पंक्ति प्राप्त करने के लिए यहां SQL क्वेरी है।

मान लें कि आपके पास निम्न तालिका है बिक्री(order_date, राशि) जिसमें आईडी जैसा कॉलम नहीं है।

mysql> create table sales2(order_date date, amount int);

mysql> insert into sales2(order_date,amount)
       values('2020-10-01',100),
       ('2020-10-02',300),
       ('2020-10-03',250),
       ('2020-10-04',150),
       ('2020-10-05',200);

mysql> select * from sales2;
+------------+--------+
| order_date | amount |
+------------+--------+
| 2020-10-01 |    100 |
| 2020-10-02 |    300 |
| 2020-10-03 |    250 |
| 2020-10-04 |    150 |
| 2020-10-05 |    200 |
+------------+--------+

बोनस पढ़ें :MySQL डेटाबेस को दूसरे सर्वर पर कैसे रिपीट करें

यहाँ MySQL में प्रत्येक nth पंक्ति को पुनः प्राप्त करने के लिए SQL क्वेरी है।

SELECT * 
FROM ( 
    SELECT 
        @row := @row +1 AS rownum, [column name] 
    FROM ( 
        SELECT @row :=0) r, [table name] 
    ) ranked 
WHERE rownum % [n] = 0

उपरोक्त क्वेरी में, [n] को nth पंक्ति से बदलें जिसे आप प्राप्त करना चाहते हैं, [तालिका नाम] को अपने तालिका नाम से और [कॉलम नाम] को अपने कॉलम नाम से बदलें।

उपरोक्त क्वेरी में, हम नेस्टेड प्रश्नों का उपयोग करते हैं। आंतरिक क्वेरी में प्रत्येक पंक्ति के लिए पंक्ति संख्या का मूल्यांकन और असाइन करता है और इसे एक अस्थायी चर में संग्रहीत करता है जिसे राउनम कहा जाता है। बाहरी क्वेरी rownum mod n मान के साथ शून्य के रूप में पंक्तियों का चयन करती है।

यहाँ MySQL में हर दूसरी पंक्ति का चयन करने के लिए SQL क्वेरी है।

mysql> SELECT *
       FROM (
           SELECT
              @row := @row +1 AS rownum, amount
          FROM (
              SELECT @row :=0) r, sales2
          ) ranked
      WHERE rownum % 2 = 0;
+--------+--------+
| rownum | amount |
+--------+--------+
|      2 |    300 |
|      4 |    150 |
+--------+--------+

उम्मीद है, यह लेख आपको MySQL में प्रत्येक nth पंक्ति का चयन करने में मदद करेगा।

Ubiq डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में उनकी निगरानी करना आसान बनाता है। Ubiq को निःशुल्क आज़माएं।

  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. MySQL इंसर्ट क्वेरी WHERE क्लॉज के साथ काम नहीं करती है

  3. क्रॉन जॉब्स का उपयोग करके MySQL डेटाबेस का बैकअप कैसे लें

  4. प्रमाणीकरण प्लगइन 'caching_sha2_password' लोड नहीं किया जा सकता

  5. MySQL में ग्रुप बाय क्लॉज का उपयोग करके समूह पंक्तियाँ