मेरे कॉलम में ए, बी, सी या "रिक्त" श्रेणियां हैं (जिसका अर्थ है कि रिकॉर्ड वर्गीकृत नहीं है)।

मैं ए, बी और सी की कुल संख्या और "वर्गीकृत नहीं" रिकॉर्ड की कुल संख्या दिखाना चाहता हूं, और नीचे दी गई क्वेरी की कोशिश की है।

हालांकि यह काम नहीं करता है। यह ए, बी और सी की सही संख्या दिखाता है लेकिन वर्गीकृत नहीं की संख्या दिखाता है।

SELECT count(*) AS Quantity,
       CASE
           WHEN cf_ab_contacts.col_621 = '' THEN "Uncategorized"
           ELSE cf_ab_contacts.col_621  
       END AS `Category`
FROM ...
WHERE ...
GROUP BY `cf_ab_contacts`.`col_621`;

सभी मदद के लिए धन्यवाद।

-1
oldeagle 18 मार्च 2020, 14:46
अपने प्रश्न को संपादित करें और एक न्यूनतम प्रतिलिपि प्रस्तुत करने योग्य उदाहरण, यानी टेबल पर CREATE TABLE स्टेटमेंट, के लिए नमूना डेटा शामिल करें टेबल को INSERT INTO स्टेटमेंट के रूप में और उस सैंपल डेटा के साथ वांछित परिणाम सारणीबद्ध टेक्स्ट के रूप में। कोई चित्र नहीं! आपके द्वारा उपयोग किए जा रहे MySQL के संस्करण को भी टैग करें।
 – 
sticky bit
18 मार्च 2020, 14:50
1
या "खाली" क्या यह है: NULL मान? खाली स्ट्रिंग? गैर मुद्रित स्ट्रिंग? एक शाब्दिक 'खाली'?
 – 
Akina
18 मार्च 2020, 14:51
एक उपशामक के रूप में आप COUNT(*) - COUNT(col_621 IN ('A','B','C')) AS Uncategorized का उपयोग कर सकते हैं।
 – 
Akina
18 मार्च 2020, 14:53
कॉलम कभी भी पूर्ण नहीं होता है। इसलिए मैंने सोचा कि मैं = '' का उपयोग कर सकता हूं
 – 
oldeagle
18 मार्च 2020, 15:05

2 जवाब

मुझे वास्तव में खेद है - लेकिन क्वेरी ने इरादा के अनुसार काम किया - मेरे WHERE अनुभाग में एक त्रुटि थी जिसमें खाली कॉलम शामिल नहीं थे।

आपके धैर्य के लिए अंकित को धन्यवाद।

मुझे यकीन नहीं है कि मैं इस धागे को हटा सकता हूं - मुझे इसे पहले स्थान पर कभी पोस्ट नहीं करना चाहिए था।

0
oldeagle 18 मार्च 2020, 16:06

खाली को ध्यान में रखते हुए आपका मतलब है कि NULL एक भी स्पेस वैल्यू नहीं है, आपको IS NULL विधेय के साथ स्थिति का परीक्षण करना होगा -

SELECT count(*) AS Quantity,
       CASE
           WHEN cf_ab_contacts.col_621 IS NULL THEN "Uncategorized"
           ELSE cf_ab_contacts.col_621  
       END AS `Category`
FROM ...
WHERE ...
GROUP BY CASE
           WHEN cf_ab_contacts.col_621 IS NULL THEN "Uncategorized"
           ELSE cf_ab_contacts.col_621  
       END;
0
Ankit Bajpai 18 मार्च 2020, 16:18
धन्यवाद, अंकित बाजपेयी। कॉलम कभी भी पूर्ण नहीं होता है, इसलिए मैंने अपनी क्वेरी में '' लिखा है ...
 – 
oldeagle
18 मार्च 2020, 14:57
आप स्पेस कैरेक्टर '' के साथ कोशिश कर सकते हैं।
 – 
Ankit Bajpai
18 मार्च 2020, 15:41
एक स्पेस कैरेक्टर अभी भी काम नहीं करता है। अगर मैं गिनती के बिना क्वेरी चलाता हूं (गिनती() और ग्रुप बाय को हटाकर) क्वेरी सभी रिकॉर्ड सूचीबद्ध करती है - "खाली" कॉलम "अनवर्गीकृत" के रूप में दिखाए जाते हैं। लेकिन जब इसे एकत्र करना काम नहीं करता है ...
 – 
oldeagle
18 मार्च 2020, 15:57