मेरे पास एक टेबल है जिसमें processed_timestamp
कॉलम है - यदि एक रिकॉर्ड संसाधित किया गया है तो उस फ़ील्ड में डेटाटाइम होता है जिसे संसाधित किया गया था, अन्यथा यह शून्य है।मैं अपने रिकॉर्ड को न्यूल द्वारा समूहीकृत कैसे करूं और न्यूल न करें?
NULL xx -- count of records with null timestamps
NOT NULL yy -- count of records with non-null timestamps
कि संभव है:
मैं एक प्रश्न है कि दो पंक्तियों रिटर्न लिखना चाहते हैं?
अद्यतन: तालिका काफी बड़ी है, इसलिए क्षमता महत्वपूर्ण है। मैं अलग-अलग प्रत्येक गणना की गणना करने के लिए केवल दो प्रश्नों को चला सकता हूं, लेकिन यदि मैं इससे बच सकता हूं तो मैं तालिका को दो बार मारने से बचना चाहता हूं।
select decode(field,NULL,'NULL','NOT NULL'), count(*)
from table
group by decode(field,NULL,'NULL','NOT NULL');
मुझे यकीन है कि अन्य डीबीएस समान चाल के लिए अनुमति हूँ:
मीठे - यह एक निफ्टी कस्टम फ़ंक्शन है। (यहां और अधिक: http://www.java2s.com/Code/Oracle/Char-Functions/NVL2xvalue1value2Returnsvalue1ifxisnotnullifxisnullvalue2isreturned।एचटीएम) –