2010-04-13 20 views
7

मान लीजिए कि mysql इसmysql समूह और पंक्तियों समस्या गिनती

select x,y 
from xx 
group by y 

मुझे पता है कि कितने पंक्तियों का चयन करें कि मिल जाएगा चाहते हैं की तरह कुछ है चलो, मैं गिनती का उपयोग करने की कोशिश की लेकिन यह सब परिणाम नहीं देंगे चूंकि मैं समूह का उपयोग कर रहा हूं।

यह कैसे करें?

धन्यवाद

+0

आप को पता है कि कितने पंक्तियों प्रत्येक समूह में हैं करना चाहते हैं? या सभी समूहों में कितनी पंक्तियां हैं? या कितने समूह? – keithjgrant

+0

सभी पंक्तियां जो यह चुनती हैं – trrrrrrm

उत्तर

14

तुम इतनी तरह आपकी क्वेरी लपेट कर सकते हैं:

SELECT COUNT(*) FROM 
    (select x,y 
    from xx 
    group by y) sub; 
+3

कोई भी विचार यह कैसे किया जा सकता है यदि MySQL सर्वर प्रश्न में subqueries की अनुमति नहीं देता है? –

0

मान लीजिए आप नीचे दी गई सामग्री के साथ एक मेज है:

------------------- 
| ID | NAME | GROUP | 
+-------------------+ 
| 1 | A | 1 | 
+-------------------+ 
| 2 | B | 2 | 
+-------------------+ 
| 3 | C | 2 | 
+-------------------+ 
| 4 | D | 3 | 
+-------------------+ 
| 5 | E | 1 | 
+-------------------+ 
| 6 | F | 3 | 
+-------------------+ 

निम्नलिखित स्वयं वाम मायने रखता है की संख्या में शामिल हों समूह में विशिष्ट मूल्य।

SELECT COUNT(*) 
FROM table AS t1 
LEFT JOIN table AS t2 ON t2.GROUP = t1.GROUP AND t2.ID > t1.ID 
WHERE t2.id IS NULL; 

यह प्रश्न क्या है, प्रत्येक समूह के लिए, उच्चतम आईडी वाले तत्व को पता चलता है।

संबंधित मुद्दे