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

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

सौभाग्य से MySQL 4.0.0 के बाद से आप SQL_CALC_FOUND_ROWS . का उपयोग कर सकते हैं आपकी क्वेरी में विकल्प जो MySQL को LIMIT . की परवाह किए बिना पंक्तियों की कुल संख्या गिनने के लिए कहेगा खंड। पंक्ति गणना को पुनः प्राप्त करने के लिए आपको अभी भी दूसरी क्वेरी निष्पादित करने की आवश्यकता है, लेकिन यह एक साधारण क्वेरी है और आपकी क्वेरी जितनी जटिल नहीं है जिसने डेटा पुनर्प्राप्त किया है। उपयोग बहुत आसान है। आपकी मुख्य क्वेरी में आपको SQL_CALC_FOUND_ROWS add जोड़ना होगा SELECT . के ठीक बाद विकल्प और दूसरी क्वेरी में आपको FOUND_ROWS() . का उपयोग करना होगा पंक्तियों की कुल संख्या प्राप्त करने के लिए कार्य। प्रश्न इस तरह दिखाई देंगे:

SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10;

SELECT FOUND_ROWS();

केवल सीमा यह है कि आपको पहली क्वेरी के तुरंत बाद दूसरी क्वेरी कॉल करनी चाहिए क्योंकि SQL_CALC_FOUND_ROWS कहीं भी पंक्तियों की संख्या को सहेजता नहीं है। हालांकि इस समाधान के लिए दो प्रश्नों की भी आवश्यकता होती है, यह बहुत तेज़ है, क्योंकि आप मुख्य क्वेरी को केवल एक बार निष्पादित करते हैं। आप SQL_CALC_FOUND_ROWS और FOUND_ROWS() MySQL डॉक्स में।

संपादित करें: आपको ध्यान देना चाहिए कि ज्यादातर मामलों में क्वेरी को दो बार चलाना वास्तव में SQL_CALC_FOUND_ROWS से तेज़ है . देखें यहां

संपादित करें 2019:

<ब्लॉकक्वॉट>

SQL_CALC_FOUND_ROWS क्वेरी संशोधक और साथ में FOUND_ROWS() फ़ंक्शन को MySQL 8.0.17 के रूप में हटा दिया गया है और भविष्य के MySQL संस्करण में हटा दिया जाएगा।

https://dev.mysql.com /doc/refman/8.0/hi/information-functions.html#function_found-rows

COUNT . का उपयोग करने की अनुशंसा की जाती है इसके बजाय

SELECT * FROM tbl_name WHERE id > 100 LIMIT 10;
SELECT COUNT(*) WHERE id > 100;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लूप के बिना कुंजी द्वारा बहुआयामी सरणी का योग मान

  2. LIKE '%{$var}%' को तैयार कथनों के साथ प्रयोग करने का सही तरीका? [माइस्क्ली]

  3. सभी MySQL डेटाबेस को पुराने से नए सर्वर में कैसे ट्रांसफर करें

  4. MySQL/नियमित अभिव्यक्ति प्रतिकृति में शब्दों की गणना कैसे करें?

  5. कैसे डोकर के अंदर mysql चलाने के लिए mysql कार्यक्षेत्र कनेक्ट करने के लिए?