2015-10-07 25 views
0

我有一個表recommendation與領域recommenderattractionidMySQL的數量和組由兩個不同的列

我要算如何表羣組中存在由attractionid許多attractionid但如果有相同的對recommenderattractionid它們被算作1 例如,

attractionid recommender 
     1    1 
     1    2 
     1    1 
     2    3 
     2    1 
     2    2 
     2    2 
     2    2 

預期的結果:

attractionid count 
     1   2 
     2   3 

行下面應該算作1

attractionid recommender 
      1    1 
      1    1 
      2    2 
      2    2 
      2    2 
+0

爲'attractionid = 2''CNT必須3'是不是? ('推薦1,2,3') – Praveen

+0

是的你是對的。感謝您指出, –

回答

2

使用distinct attractionid,recommender內部count功能。

查詢

select attractionid, 
count(distinct attractionid,recommender) as `count` 
from recommendation 
group by attractionid; 
+0

它也可以!因爲這不需要子查詢,我接受這個答案。謝謝 –

1

嘗試:

select attractionid, count(recommender) cnt 
from (
    select distinct attractionid, recommender 
    from recommendation 
) x 
group by attractionid 
+0

它解決了我的問題!謝謝 –