SQL में दिनांक के अनुसार सबसे नवीनतम रिकॉर्ड का चयन करें

Sql Mem Dinanka Ke Anusara Sabase Navinatama Rikorda Ka Cayana Karem



SQL डेटाबेस में काम करते समय, आपके सामने एक ऐसा उदाहरण आ सकता है जहाँ आपको दिनांक के आधार पर दी गई तालिका से नवीनतम रिकॉर्ड पुनर्प्राप्त करने की आवश्यकता होती है। यह पेजिनेशन, इन्वेंट्री प्रबंधन, निगरानी उद्देश्यों आदि के लिए हो सकता है।

इस गाइड में, हम आपको विभिन्न तरीकों और तकनीकों के बारे में बताएंगे जिनका उपयोग हम तारीख के आधार पर तालिका से सबसे हालिया रिकॉर्ड का चयन करने के लिए कर सकते हैं।

नमूना डेटा

प्रदर्शन उद्देश्यों के लिए, हम सकीला नमूना डेटाबेस का उपयोग करते हैं जो MySQL और PostgreSQL फ्लेवर के लिए उपलब्ध है।







बेझिझक नमूना डेटाबेस को अपने सर्वर पर डाउनलोड और आयात करें। आप आवश्यकतानुसार किसी अन्य डेटासेट का भी उपयोग कर सकते हैं।



उदाहरण 1: ऑर्डर बाय

सबसे बुनियादी और सरल तरीका जिसका उपयोग हम तारीख के अनुसार सबसे हालिया रिकॉर्ड को पुनः प्राप्त करने के लिए कर सकते हैं वह SQL ORDER BY क्लॉज का उपयोग करना है।



हम दिनांक मान के आधार पर रिकॉर्ड को अवरोही क्रम में व्यवस्थित कर सकते हैं और फिर परिणाम को केवल एक पंक्ति तक सीमित कर सकते हैं।





उदाहरण के लिए सकीला नमूना डेटाबेस से किराये की तालिका लें। इसमें 'किराया_दिनांक' कॉलम शामिल है जो उस तारीख को दर्शाता है जिस दिन एक फिल्म किराए पर ली गई थी।

हम इसका उपयोग यह प्रदर्शित करने के लिए कर सकते हैं कि तालिका से नवीनतम रिकॉर्ड पुनर्प्राप्त करने के लिए ऑर्डर बाय क्लॉज का उपयोग कैसे करें।



चुनना *

किराये से

आदेश किराये_दिनांक डीईएससी द्वारा

आप LIMIT 1 ;

इस मामले में, हम ऑर्डर बाय क्लॉज का उपयोग करते हैं और लक्ष्य कॉलम के रूप में 'रेंटल_डेट' पास करते हैं। हम डेटाबेस को रिकॉर्ड को अवरोही क्रम में क्रमबद्ध करने के लिए कहना भी सुनिश्चित करते हैं।

अंत में, हम आउटपुट रिकॉर्ड की संख्या को भी सीमित करते हैं जो तालिका से सबसे हाल की पंक्ति लौटानी चाहिए।

उदाहरण 2: मैक्स() फ़ंक्शन का उपयोग करना

क्या आप जानते हैं कि हम दिनांक मानों पर अधिकतम() फ़ंक्शन का उपयोग कर सकते हैं? हां, हम किसी दी गई तालिका से सबसे हालिया रिकॉर्ड पुनर्प्राप्त करने के लिए दिनांक मानों पर एक सरल एसक्यूएल सबक्वेरी और अधिकतम() फ़ंक्शन का उपयोग कर सकते हैं।

निम्नलिखित उदाहरण पर विचार करें:

चुनना *

किराये से

जहां किराये_दिनांक = (किराये से अधिकतम (किराये_दिनांक) चुनें);

सबक्वेरी का उपयोग करके तालिका से अधिकतम किराये की तारीख का पता लगाया जाता है। मुख्य क्वेरी में, हमें अधिकतम दिनांक के बराबर 'rental_date' के साथ रिकॉर्ड प्राप्त करना चाहिए।

उदाहरण 3: विंडो फ़ंक्शंस

विंडो फ़ंक्शंस का समर्थन करने वाले डेटाबेस के लिए, हम तालिका से नवीनतम रिकॉर्ड पुनर्प्राप्त करने के लिए सबक्वेरी और row_number() फ़ंक्शन का उपयोग इस प्रकार कर सकते हैं:

चुनना *

से (

चुनना *,

ROW_NUMBER() ओवर ( आदेश रेंटल_डेट डीईएससी द्वारा) एएस आरएन

किराये से

) एएस सबक्वेरी

कहाँ आरएन = 1 ;

दिए गए उदाहरण में, सबक्वेरी ROW_NUMBER() विंडो फ़ंक्शन का उपयोग करके अवरोही क्रम में 'rental_date' कॉलम के आधार पर प्रत्येक पंक्ति को एक पंक्ति संख्या निर्दिष्ट करती है।

बाहरी क्वेरी तब सबक्वेरी से सभी कॉलम का चयन करती है जहां पंक्ति संख्या 1 है, प्रभावी रूप से सबसे हालिया किराये के रिकॉर्ड का चयन करती है।

निष्कर्ष

इस पोस्ट में, हमने विभिन्न तरीकों और तकनीकों का पता लगाया जिनका उपयोग हम किसी तारीख के आधार पर सबसे हालिया रिकॉर्ड लाने के लिए कर सकते हैं।