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

MySQL में पहले 10 परिणाम कैसे छोड़ें?

LIMIT ... OFFSET सिंटैक्स

MySQL में पहले N परिणाम छोड़कर (skip) बाद के परिणाम प्राप्त करने के लिए LIMIT के साथ OFFSET का उपयोग करें।

सिंटैक्स

SELECT * FROM yourTableName 
LIMIT row_count OFFSET offset_value;

या संक्षिप्त रूप:

SELECT * FROM yourTableName 
LIMIT offset_value, row_count;

उदाहरण: पहले 10 रिकॉर्ड छोड़ें

1. टेबल बनाएं और 15 रिकॉर्ड डालें

mysql> CREATE TABLE SkipFirstTenRecords (
    -> StudentId INT,
    -> StudentName VARCHAR(200)
    -> );
Query OK, 0 rows affected (0.53 sec)

mysql> INSERT INTO SkipFirstTenRecords VALUES 
    -> (100,'John'), (101,'Johnson'), (102,'Carol'), (103,'Smith'),
    -> (104,'Bob'), (105,'David'), (106,'Sam'), (107,'Taylor'),
    -> (108,'Ramit'), (109,'Belly'), (110,'Aaron'), (111,'Peter'),
    -> (112,'Travis'), (113,'Alex'), (114,'Pat');

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

mysql> SELECT * FROM SkipFirstTenRecords;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 100       | John        |
| 101       | Johnson     |
| 102       | Carol       |
| 103       | Smith       |
| 104       | Bob         |
| 105       | David       |
| 106       | Sam         |
| 107       | Taylor      |
| 108       | Ramit       |
| 109       | Belly       |
| 110       | Aaron       |
| 111       | Peter       |
| 112       | Travis      |
| 113       | Alex        |
| 114       | Pat         |
+-----------+-------------+
15 rows in set (0.00 sec)

3. पहले 10 छोड़कर अगले 10 लें

mysql> SELECT * FROM SkipFirstTenRecords 
    -> LIMIT 10 OFFSET 10;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 110       | Aaron       |
| 111       | Peter       |
| 112       | Travis      |
| 113       | Alex        |
| 114       | Pat         |
+-----------+-------------+
5 rows in set (0.00 sec)

व्याख्या: OFFSET 10 पहले 10 पंक्तियाँ छोड़ता है, LIMIT 10 अधिकतम 10 पंक्तियाँ लौटाता है। चूंकि केवल 5 शेष थीं, इसलिए 5 लौटीं।

पेजिनेशन के लिए सामान्य पैटर्न

-- पेज 1 (पहले 10)
SELECT * FROM table LIMIT 10 OFFSET 0;

-- पेज 2 (अगले 10)
SELECT * FROM table LIMIT 10 OFFSET 10;

-- पेज N
SELECT * FROM table LIMIT 10 OFFSET (page_number - 1) * 10;

प्रदर्शन चेतावनी

बड़े ऑफसेट (जैसे OFFSET 1000000) धीमे होते हैं क्योंकि MySQL को छोड़ने वाली पंक्तियाँ भी पढ़नी पड़ती हैं। बड़े डेटासेट के लिए कर्सर-आधारित पेजिनेशन (WHERE id > last_seen_id) बेहतर है।

  1. - MySQL SELECT में OFFSET का उपयोग करके पहले N परिणाम छोड़ें

    MySQL LIMIT और OFFSET: पेजिनेशन और परिणाम छोड़ना OFFSET क्लॉज का उपयोग करके आप परिणाम सेट की शुरुआत से निर्दिष्ट संख्या में पंक्तियों को छोड़ सकते हैं। LIMIT के साथ संयोजित करके पेजिनेशन लागू किया जाता है। उदाहरण: पहले 3 रिकॉर्ड छोड़कर बाकी देखें टेबल बनाएं: CREATE TABLE DemoTable (Name VARCHAR(40)

  1. - MySQL में क्वेरी परिणामों को रैंडम क्रम में ऑर्डर करना और रैंडम पंक्तियां चुनना

    परिचय MySQL में ORDER BY RAND() का उपयोग करके क्वेरी परिणामों को यादृच्छिक (रैंडम) क्रम में क्रमबद्ध किया जा सकता है। LIMIT के साथ संयोजित करके रैंडम नमूना (random sample) प्राप्त किया जा सकता है। सिंटैक्स SELECT * FROM table_name WHERE column_name IN (value1, value2, ...) ORDER BY RAND() LIMIT lim

  1. - MySQL में परिणाम समूहित करें और सूची में दिखाएं

    समाधान GROUP BY के साथ ORDER BY का उपयोग करके गणना और क्रमबद्ध करें। सिंटैक्स SELECT yourColumnName, COUNT(*) AS aliasName FROM yourTableName GROUP BY yourColumnName ORDER BY yourColumnName; उदाहरण टेबल बनाएं: INSERT INTO demo7 (first_name) VALUES (John), (David), (John), (Bob), (David), (David),