2016-04-01 12 views
0

SQL öğreniyorum ve bir süreliğine belli bir soruyla karşılaşıyorum. Her id v1 olduğunu kaç kez saymak gerekirSQL Server: bir defaya mahsus kaç kez bir

id v1 
1 3 
2 3 
3 - 
4 5 
5 3 
6 5 
7 3 

: Ben büyük veri seti gibi bakıyor var. Aradığım çıktı:

id count 
1 0 
2 0 
3 4 
4 0 
5 2 
6 0 
7 0 

Birçok forumda yanıt aradınız. Sorun şu ki çok sayıda kimlik var, bu yüzden "1" numarasına göre arama yapamıyorum. Eğer id = v1 gibi bir şey kullanırsam, bir satırın kaç kez bu sütunlarda eşit değerlere sahip olduğunu bulurum. Biraz yardım arıyorum. Lütfen.

cevap

3

bu deneyin:

SELECT t1.id, COUNT(t2.v1) 
FROM mytable AS t1 
LEFT JOIN mytable AS t2 ON t1.id = t2.v1 
GROUP BY t1.id 
ORDER BY t1.id 

Demo here

+0

yardımına teşekkür ederiz. Ama Kont'da hala sıfırlar var. Neden olduğunu söyleyemem. Bazı ek bilgiler: MS sql server 2008 kullanıyorum, başlangıç ​​tablosunda başka sütunlar var. –

+0

Vay, çok şey söyledi. Bu gerçekten yardımcı oldu. Benim kötü, ilk başta yanlıştı. –