extra1, extra2, ...
"अतिरिक्त कॉलम" . हैं क्रॉसस्टैब शब्दावली में।
टेबलफंक मॉड्यूल के लिए मैनुअल
नियमों की व्याख्या करता है:
और नीचे:
मेरे द्वारा प्रमुख भागों पर बोल्ड जोर।
आप केवल row_name
. के अनुसार क्रमित करते हैं :
ORDER BY row_name ASC
पहले उदाहरण में कोई फर्क नहीं पड़ता कि आप इसके साथ फ़िल्टर करते हैं:
WHERE ... t.extra1 = 'val1' -- single quotes by me
सभी इनपुट पंक्तियों में extra1 = 'val1'
है वैसे भी। लेकिन यह दूसरे उदाहरण में मायने रखता है जहां आप इसके साथ फ़िल्टर करते हैं:
WHERE ... t.extra1 IN('val1', ...) --> More values
अब, अतिरिक्त कॉलम extra1
. के लिए उपरोक्त पहली बोल्ड आवश्यकता का उल्लंघन किया गया है . जबकि पहली इनपुट क्वेरी का सॉर्ट क्रम गैर-नियतात्मक है, "अतिरिक्त" कॉलम के लिए परिणामी मान extra1
मनमाने ढंग से चुने जाते हैं। extra1
. के लिए अधिक संभावित मान , कम पंक्तियों के अंत में 'val1' होगा:यही आपने देखा।
आप इसे अभी भी काम कर सकते हैं:रिपोर्ट करने के लिए extra1 = 'val1'
प्रत्येक row_name
. के लिए जिसमें उनमें से कम से कम एक है, ORDER BY
बदलें करने के लिए:
ORDER BY row_name, (extra1 <> 'val1')
शीर्ष पर 'val1' क्रमबद्ध करें। उस boolean
. के लिए स्पष्टीकरण अभिव्यक्ति (अधिक लिंक के साथ):
अन्य "अतिरिक्त" कॉलम अभी भी मनमाने ढंग से चुने गए हैं, जबकि सॉर्ट ऑर्डर नियतात्मक नहीं है।
क्रॉसटैब मूल बातें: