[ad_1]
मेरे पास तालिका है जिसमें भाग संख्या, स्थान, col1, col2, माप1, माप2, माप3 शामिल हैं। माप3 के आधार पर शीर्ष 100 रिकॉर्ड दिखाने होंगे।
बात टेबल पर दो महीने का डेटा लोड करने की है। उदाहरण के लिए जनवरी + फ़रवरी डेटा लोड हो रहा है। भाग संख्या, स्थान के आधार पर, यदि कोई डुप्लिकेट रिकॉर्ड है तो नवीनतम रिकॉर्ड लेना होगा। एसक्यूएल क्वेरी में काम कर रहा हूँ। एसक्यूएल क्वेरी में दो महीने के डेटा का योग, यानी। जनवरी = दिसंबर+जन, फरवरी = फरवरी+जन, उन पर रैंकिंग और रैंक 1 लेना। इस तरह नवीनतम रिकॉर्ड प्राप्त करना। डैक्स का उपयोग करके पावर बाय में इसे कैसे प्राप्त किया जाता है। कोई दिनांक तालिका या स्तंभ नहीं. माहो होना. उदाहरण के लिए: nov2023=23, dec2023=24, jan2024=25, feb2024=26, mar2024=27 इत्यादि।
स्लाइसर पार्टनो, स्थान होना। और तालिका में उन अभिलेखों के लिए क्रम संख्या 1 से 100 तक दिखाना होगा।
मैंने क्या प्रयास किया है:
शीर्ष 50 दिखाने के लिए उपाय बनाया गया। यह ठीक है, लेकिन नवीनतम रिकॉर्ड प्राप्त करने की आवश्यकता है।
समाधान 1
इसे किसी भी सार्थक तरीके से प्राप्त करने के लिए आपको गंभीरता से अपने डीबी को बदलने की आवश्यकता है: स्ट्रिंग्स में दिनांक आधारित डेटा संग्रहीत करना हमेशा एक खराब विचार है और स्ट्रिंग तुलना हमेशा पहले अलग-अलग वर्णों की जोड़ी पर आधारित होती है – बाद वाले को भी नहीं देखा जाता है। तो आदेश होगा:
apr2022 apr2023 aug2022 aug2023 dec2022 dec2023 feb2022 feb2023 jan2022 jul2022 jul2023 jun2022 jun2023 mar2022 mar2023 may2022 may2023 nov2022 nov2023 oct2022 oct2023 sep2022 sep2023
जो काफी हद तक बेकार है.
हालाँकि ऐसा करना संभव है, लेकिन इसमें बहुत मेहनत लगती है – और भाग्य: उदाहरण के लिए, एक फ़्रेंच या जर्मन महीने का नाम आपके कोड को गड़बड़ कर देगा।
CAST फ़ंक्शन आपको यह करने देगा:
CAST('oct2023' AS DATE)
आपको 2023-10-01 देगा लेकिन यह आपके प्रश्नों में बहुत अधिक प्रसंस्करण और जटिलता जोड़ देगा – उन सभी में – और फिर भी आपको प्रत्येक माह के भीतर आवश्यक ऑर्डर नहीं देगा क्योंकि आपके डेटा में यह शामिल नहीं है: सभी तारीखें महीने की पहली होंगी। और इससे प्रदर्शन प्रभावित होगा और साथ ही आपकी पंक्तियों की संख्या भी बढ़ेगी।
कम से कम, अपने DB में एक टाइमस्टैम्प कॉलम (DATETIME या DATETIME2) जोड़ें और इसे सम्मिलित समय (वरीयता के अनुसार UTC में) पर डिफ़ॉल्ट करें और आपके पास वर्तमान में मौजूद स्ट्रिंग आधारित जंक के बजाय इसका उपयोग करें।
[ad_2]
コメント