php - counting twice in a query, once using restrictions -


निम्नलिखित तालिकाओं को देखते हुए:

  तालिका 1 [वर्ग] [बच्चे] गणित boy1 गणित boy2 गणित लड़का 3 कला लड़का 1 टेबल 2 [बाल] [चश्मा] लड़का 1 हाँ लड़का 2 हाँ लड़का 3 नहीं  

अगर मैं हर वर्ग के बच्चों की संख्या के लिए प्रश्न करना चाहता हूं, तो मैं यह करूँगा:

  SELECT class, COUNT (बच्चे) से तालिका 1 ग्रुप द्वारा कक्षा  

और अगर मैं चश्मे पहनने वाले हर वर्ग के बच्चों की संख्या के लिए क्वेरी करना चाहता हूं, तो मैं यह करूँगा:

  SELECT Table1.class, COUNT (table1.child) से तालिका 1 बाएं जुड़ें टेबल 1 पर टेबल 1.child = Table2.child WHERE Table2.glasses = 'yes' ग्रुप को Table1.class द्वारा  

लेकिन मैं वास्तव में क्या करना चाहता हूं:

  SELECT class, COUNT (child), COUNT (बाल पहने हुए चश्मा)  
< P> और स्पष्ट रूप से मुझे कोई अंदाज़ा नहीं है कि केवल एक ही क्वेरी में कैसे करना है।

सहायता?

आप ऐसा कुछ करने की कोशिश कर सकते हैं (सिंटेक्स की जाँच नहीं की गई):

  SELECT class, COUNT (अलग तालिका 1। चाइल्ड), SUM (IF (Table2.glasses = 'yes', 1, 0)) तालिका 1 से दायां जुड़ें Table2 ON तालिका 1.child = Table2.child  

यह थोड़ा हैकी है और आप इसे दो प्रश्नों में करना आसान कर सकते हैं लेकिन इस तकनीक ने मेरे लिए चुटकी में काम किया है

< / div>

Comments