2016-04-11 15 views
0

Yapabileceğim MySQL alın bana her biri için bir sayı da tüm FieldA, Fieldb yinelenenler bir listesini verecektirBunların listesi değildir, sadece aynısı olan tüm kayıtları

Select FieldA,FieldB,FieldC,Count(*) from TableA Group By FieldA,FieldB having count(*)>1 

. İhtiyacım olan şey bu alt kümedeki tüm kayıtlar. Belirli bir FieldA, FieldB combo'nun 3 sayısı varsa, bu kayıtların 3'ünü görmem gerekir. Çeşitli katılımları denemedim. Her bir çiftin tekabül sayısı ile birlikte tüm FieldA,FieldB çiftleri içeren bir türetilmiş tabloya

cevap

0
select a1.* 
from TableA a1 
join 
(
    Select FieldA, FieldB 
    from TableA 
    Group By FieldA, FieldB 
    having count(*) > 1 
) a2 on a1.FieldA = a2.FieldA 
    and a1.FieldB = a2.FieldB 

gruplandırılmış birinin sonucu aynı tabloyu katılın.

1

Sadece JOIN tablo:

select t1.*, t2.cnt 
from TableA t1 
join (
    Select FieldA, FieldB, Count(*) as cnt 
    from TableA 
    Group By FieldA, FieldB 
    having count(*) > 1 
) as t2 on t1.FieldA = t2.FieldA and t1.FieldB = t2.FieldB 
İlgili konular