MariaDB में, आप LIMIT
. का उपयोग कर सकते हैं एक क्वेरी द्वारा लौटाई गई पंक्तियों की संख्या को कम करने के लिए क्लॉज। FOUND_ROWS()
इस तरह के प्रश्नों में फ़ंक्शन का उपयोग उन पंक्तियों की संख्या को वापस करने के लिए किया जा सकता है जो लौटाई गई होतीं, यदि LIMIT
होती खंड शामिल नहीं किया गया।
यह आसान हो सकता है, क्योंकि यह आपको क्वेरी को फिर से चलाए बिना यह जानकारी प्राप्त करने की अनुमति देता है।
FOUND_ROWS()
फ़ंक्शन का उपयोग उन पंक्तियों की संख्या को वापस करने के लिए भी किया जा सकता है जो वास्तव में सीमित कथन द्वारा लौटाई गई थीं, यदि आपको इसकी आवश्यकता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
FOUND_ROWS()
किसी तर्क की आवश्यकता नहीं है या स्वीकार नहीं है।
किसी कथन द्वारा लौटाई गई पंक्तियों की संख्या प्राप्त करने के लिए, SQL_CALC_FOUND_ROWS
शामिल करें कथन में, और फिर FOUND_ROWS()
चलाएं एक अलग क्वेरी में (प्रारंभिक क्वेरी चलाने के बाद)।
उदाहरण
फ़ंक्शन कैसे काम करता है, यह दिखाने के लिए यहां एक उदाहरण दिया गया है।
मान लीजिए हम इस तरह एक टेबल बनाते हैं:
SELECT SQL_CALC_FOUND_ROWS *
FROM Pets
LIMIT 2;
परिणाम:
+-------+-----------+---------+---------+------------+ | PetId | PetTypeId | OwnerId | PetName | DOB | +-------+-----------+---------+---------+------------+ | 1 | 2 | 3 | Fluffy | 2020-11-20 | | 2 | 3 | 3 | Fetch | 2019-08-16 | +-------+-----------+---------+---------+------------+
केवल दो पंक्तियों को लौटाया गया, जैसा कि LIMIT
. द्वारा निर्दिष्ट किया गया है खंड।
हालांकि, आइए अब FOUND_ROWS()
का उपयोग करें यह देखने के लिए कि यदि हमने LIMIT
. का उपयोग नहीं किया होता तो कितनी पंक्तियाँ लौटा दी जातीं खंड:
SELECT FOUND_ROWS();
परिणाम:
+--------------+ | FOUND_ROWS() | +--------------+ | 8 | +--------------+
यह हमें बताता है कि अगर हमने LIMIT
. का उपयोग नहीं किया होता तो आठ पंक्तियाँ वापस आ जातीं खंड।
हम LIMIT
. के बिना क्वेरी चलाकर इसे सत्यापित कर सकते हैं खंड:
SELECT *
FROM Pets;
परिणाम:
+-------+-----------+---------+---------+------------+ | PetId | PetTypeId | OwnerId | PetName | DOB | +-------+-----------+---------+---------+------------+ | 1 | 2 | 3 | Fluffy | 2020-11-20 | | 2 | 3 | 3 | Fetch | 2019-08-16 | | 3 | 2 | 2 | Scratch | 2018-10-01 | | 4 | 3 | 3 | Wag | 2020-03-15 | | 5 | 1 | 1 | Tweet | 2020-11-28 | | 6 | 3 | 4 | Fluffy | 2020-09-17 | | 7 | 3 | 2 | Bark | NULL | | 8 | 2 | 4 | Meow | NULL | +-------+-----------+---------+---------+------------+
मैंने SQL_CALC_FOUND_ROWS
. भी हटा दिया है बयान से, क्योंकि हमें इस बार इसकी आवश्यकता नहीं थी।
SQL_CALC_FOUND_ROWS
को छोड़ना विकल्प
अगर आप SQL_CALC_FOUND_ROWS
को छोड़ देते हैं विकल्प, FOUND_ROWS()
फ़ंक्शन वास्तविक लौटाता है पंक्तियों की संख्या वापस आ गई। दूसरे शब्दों में, यह LIMIT
. के बाद दी गई पंक्तियों की संख्या लौटाता है खंड लागू किया गया है।
यहां SQL_CALC_FOUND_ROWS
के बिना एक ही उदाहरण दिया गया है विकल्प:
SELECT *
FROM Pets
LIMIT 2;
परिणाम:
+-------+-----------+---------+---------+------------+ | PetId | PetTypeId | OwnerId | PetName | DOB | +-------+-----------+---------+---------+------------+ | 1 | 2 | 3 | Fluffy | 2020-11-20 | | 2 | 3 | 3 | Fetch | 2019-08-16 | +-------+-----------+---------+---------+------------+
अब FOUND_ROWS()
चलाएं :
SELECT FOUND_ROWS();
परिणाम:
+--------------+ | FOUND_ROWS() | +--------------+ | 2 | +--------------+
इस बार FOUND_ROWS()
लौटा 2
8
. के बजाय ।
बिना किसी LIMIT
के प्रश्न खंड
एक ही अवधारणा को LIMIT
के बिना प्रश्नों पर लागू किया जा सकता है खंड।
उदाहरण:
SELECT *
FROM Pets;
परिणाम:
+-------+-----------+---------+---------+------------+ | PetId | PetTypeId | OwnerId | PetName | DOB | +-------+-----------+---------+---------+------------+ | 1 | 2 | 3 | Fluffy | 2020-11-20 | | 2 | 3 | 3 | Fetch | 2019-08-16 | | 3 | 2 | 2 | Scratch | 2018-10-01 | | 4 | 3 | 3 | Wag | 2020-03-15 | | 5 | 1 | 1 | Tweet | 2020-11-28 | | 6 | 3 | 4 | Fluffy | 2020-09-17 | | 7 | 3 | 2 | Bark | NULL | | 8 | 2 | 4 | Meow | NULL | +-------+-----------+---------+---------+------------+
अब FOUND_ROWS()
चलाएं :
SELECT FOUND_ROWS();
परिणाम:
+--------------+ | FOUND_ROWS() | +--------------+ | 8 | +--------------+
अन्य कथन
FOUND_ROWS()
फ़ंक्शन का उपयोग कुछ अन्य कथनों पर भी किया जा सकता है, जैसे SHOW
, DESCRIBE
, और HELP
।