मैं उन तत्वों की संख्या को पुनः प्राप्त करने का प्रयास कर रहा हूं जो किसी स्तंभ के लिए अशक्त नहीं हैं। उदाहरण के लिए, यदि आपके पास ऐसा कुछ है:
और आप तत्व की संख्या को पुनः प्राप्त करना चाहते हैंजो कॉलम_name_1 के लिए शून्य नहीं हैं, आपको 1 पुनर्प्राप्त करना चाहिए। column_name_2 के लिए आपको 2 पुनर्प्राप्त करना चाहिए, और कॉलम_name_3 के लिए आपको 0 प्राप्त करना चाहिए।
मैं इस क्वेरी का उपयोग MySQL डेटाबेस में कर रहा हूँ:
SELECT
COUNT(*)
FROM
my_table
WHERE column_name_1 IS NOT NULL
AND [ others conditions ]
लेकिन, आपको प्रत्येक कॉलम के लिए यह क्वेरी चलानी होगी,और बहुत सारे तत्वों के लिए (उनमें से सभी नहीं), मुझे कुछ प्रदर्शन समस्याएं हैं। क्या आप जानते हैं कि प्रदर्शन को बेहतर बनाने के लिए मैं इस क्वेरी को कैसे बदल सकता हूँ?
उत्तर:
जवाब के लिए 0 № 1आप mysql के IF का उपयोग कर सकते हैं
SELECT
SUM(IF(col1 IS NULL,1,0)) as Col1,
SUM(IF(col2 IS NULL,1,0)) as Col2,
SUM(IF(col3 IS NULL,1,0)) as Col3
FROM my_table
WHERE [conditions]
इस तरह से आप IS NULL कंडीशन में स्थानांतरित हो जाते हैं जहाँ से चयन करना है