2012-04-30 11 views
60

Benim mysql db'de iki sütun içeren bir tablom var: grup ve alt grup. Aşağıya bakınız.İki alan üzerinde grup kullanarak ve SQL'de saymak

group, subGroup 
grp-A, sub-A 
grp-A, sub-A 
grp-A, sub-B  
grp-B, sub-A 
grp-B, sub-B 
grp-B, sub-B 

Her benzersiz çift grup/alt Grup için kayıt sayısını elde etmeye çalışıyorum.

Bu beklediğim şudur:

group, subGroup, count 
grp-A, sub-A, 2 
grp-A, sub-B, 1 
grp-B, sub-A, 1 
grp-B, sub-B, 2 

I) (saymak, tarafından grubunu kullanarak birkaç sql sorguları denenmiş bazı mesajları okuduktan sonra, ancak beklenen sonucu elde etmek için yönetmek değil. Bunu nasıl düzeltebilirim?

cevap

107

ben aradığınız düşünüyorum: SELECT a, b, COUNT(a) FROM tbl GROUP BY a, b

+1

Merhaba Corbinb. Çok teşekkür ederim. çalışıyor. Önerdiğin şeyi yaptım ama grup tarafından a, b grubunu a ve b yaptım. Tekrar teşekkürler – Marc

+3

'a ve b' MySQL'e bir ifade gibi görünüyor (aslında bir sözdizimi hatası olup olmadığından veya 0 veya 1 dönüşünde gruplanacağından emin değilim - özellikle varchar alanları için bir sözdizimi hatası varsayalım) . Birden çok sütun üzerinde gruplamak için virgül kullanıyorsunuz. – Corbin

+1

Çok teşekkürler! .. Benimle olan sorun, sorumu ifade edemedim ve çok basit bir zaman geçirdim. –

6
SELECT group,subGroup,COUNT(*) FROM tablename GROUP BY group,subgroup 
+0

Sayım yerine tüm kayıt detaylarına ihtiyacım vardı. Örneğin, grpA'nın 2 alt gruba sahip olması gerekir: subA ve subB, bu yüzden altgrupların her biri için tüm kaydı almam gerekir. Herkes bana yardım edebilir mi? @ user1127214 –

5

Sen grup sütunlar, grup ve alt grup hem sonra toplama işlevini COUNT() kullanmalıdır.

SELECT 
    group, subgroup, COUNT(*) 
FROM 
    groups 
GROUP BY 
    group, subgroup 
+0

geç, ama bu cevap gerçekten beni kurtardı! –

+1

Bana yazım hatası yazıyor! = GroupName – csharpwinphonexaml

+0

Sayım yerine tüm kayıt ayrıntılarına ihtiyacım vardı. Örneğin, grpA'nın 2 alt gruba sahip olması gerekir: subA ve subB, bu yüzden altgrupların her biri için tüm kaydı almam gerekir. Herkes bana yardım edebilir mi? @farzane –

İlgili konular