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

MySQL में LIMIT का उपयोग करते समय कुल पंक्तियों की संख्या कैसे प्राप्त करें?


MySQL में SQL_CALC_FOUND_ROWS का उपयोग करके कुल पंक्तियाँ गिनना

जब आप LIMIT का उपयोग करते हैं, तो केवल सीमित पंक्तियाँ लौटाई जाती हैं। कुल पंक्तियों की संख्या जानने के लिए SQL_CALC_FOUND_ROWS का उपयोग करें।

सिंटैक्स

SELECT SQL_CALC_FOUND_ROWS * FROM yourTableName LIMIT offset, count;

फिर कुल संख्या प्राप्त करें:

SELECT FOUND_ROWS();

उदाहरण

टेबल बनाएं:

mysql> create table RowsUsingLimit (
    -> Id int NOT NULL,
    -> Name varchar(10)
    -> );

डेटा डालें:

mysql> insert into RowsUsingLimit values(10, 'Larry');
mysql> insert into RowsUsingLimit values(9, 'Mike');
mysql> insert into RowsUsingLimit values(15, 'Sam');
mysql> insert into RowsUsingLimit values(20, 'Bob');
mysql> insert into RowsUsingLimit values(1, 'Carol');
mysql> insert into RowsUsingLimit values(18, 'David');

LIMIT के साथ क्वेरी:

mysql> select SQL_CALC_FOUND_ROWS * FROM RowsUsingLimit LIMIT 0, 6;

कुल पंक्तियाँ प्राप्त करें:

mysql> SELECT FOUND_ROWS();

महत्वपूर्ण नोट्स

  • SQL_CALC_FOUND_ROWS MySQL को सभी पंक्तियाँ गिनने के लिए कहता है, भले ही LIMIT लगा हो
  • FOUND_ROWS() तुरंत बाद चलाना चाहिए (अगले क्वेरी में)
  • यह SELECT COUNT(*) से तेज़ हो सकता है क्योंकि यह उसी क्वेरी में गिनती करता है
  • MySQL 8.0.17+ में SQL_CALC_FOUND_ROWS डिप्रिकेटेड है; विंडो फ़ंक्शन COUNT(*) OVER() का उपयोग करें

आधुनिक विकल्प (MySQL 8.0+)

SELECT *, COUNT(*) OVER() AS total_rows FROM yourTableName LIMIT offset, count;
  1. - MySQL में COUNT(*) से टेबल की पंक्ति संख्या प्राप्त करने का सबसे आसान तरीका

    MySQL में टेबल की पंक्ति संख्या गिनने का सबसे सरल और मानक तरीका COUNT(*) एग्रीगेट फ़ंक्शन है। सिंटैक्स SELECT COUNT(*) FROM टेबल_नाम; उदाहरण 1. टेबल बनाएं CREATE TABLE DemoTable1575 (FirstName VARCHAR(20)); 2. डेटा डालें INSERT INTO DemoTable1575 VALUES(Chris), (Bob), (Adam), (Robert); 3. पंक

  1. - MySQL में विशिष्ट पंक्ति प्राप्त करना

    WHERE, ORDER BY और LIMIT से विशिष्ट पंक्ति चुनें टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1972 ( Section char(1), StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1972 values(D,Chris); ... क्वेरी: C से बड़े सेक्शन को क्रमबद्ध करके पहले 2

  1. - MySQL में ORDER BY के साथ एकाधिक LIKE ऑपरेटर का उपयोग

    सिंटैक्स SELECT * FROM yourTableName ORDER BY ( yourColumnName LIKE %yourValue1% ) + ( yourColumnName LIKE %yourValue2% ) + ... N DESC; उदाहरण टेबल बनाएं: INSERT INTO demo2 (name) VALUES (John), (David), (John Smith), (John Doe), (David Miller), (Chris), (Bob Doe); क्वेरी Doe और David वाले ना