यह शायद पेजिंग की अनुमति देने के लिए है। पंक्तियों की कुल संख्या दिखाना वास्तव में महंगा हो सकता है।
विभिन्न प्रकार के डेटाबेस पर अच्छी तरह से काम करने का एक तरीका यह है कि काम को दो भागों में विभाजित किया जाए। सबसे पहले, आप एक अस्थायी तालिका में प्रासंगिक पंक्तियों की आईडी एकत्र करते हैं। दूसरा, आप पूरे डेटासेट को क्वेरी करते हैं। पहले भाग में एकत्र किया गया डेटा आपको एक निश्चित पृष्ठ पर पंक्तियों की कुल संख्या और पंक्तियों की आईडी की गणना करने का एक आसान तरीका देता है।
यहाँ SQL सर्वर के लिए एक मोटा उदाहरण है। ध्यान दें कि उदाहरण विंडो फ़ंक्शन जैसे row_number()
. पर निर्भर नहीं करता है , जो MySQL में उपलब्ध नहीं हैं।
create table #id_list (rn int identity, pk int);
insert #id_list
(pk)
select customer_id
from customers
where name like '%Joe%';
select (select count(*) from #id_list) as total_rows
, rn -- The row's number
, name
, birth_date
, ... -- Other columns
from #id_list id
join customer c
on c.pk = c.customer_id
where rn between 15 and 29; -- Second 15-row page
वैसे, यदि संभव हो, तो मैं इस आवश्यकता को डिजाइनरों को दोबारा जांचने के लिए वापस कर दूंगा कि क्या यह बहुत समय खर्च करने लायक है। यदि आपको पंक्तियों की कुल संख्या प्रदर्शित करने की आवश्यकता नहीं है तो यह बहुत आसान है।