2011-03-31 3 views
1

사용자가 친구에게하는 투표가 포함 된 표가 있습니다.2 where 동일한 절에있는 절

+------------+------------+------------+------+ 
| user_id | friend_id | contender | vote | 
+------------+------------+------------+------+ 
| 1695929578 | 1695529606 | 1695529577 | 1 | 
| 1695929578 | 1695529577 | 1695529606 | 0 | 
| 1695929578 | 1695529721 | 1695529578 | 1 | 
| 1695929578 | 1695529578 | 1695529721 | 0 | 
| 1695929578 | 1695529580 | 1695529606 | 1 | 
| 1695929578 | 1695529606 | 1695529580 | 0 | 
| 1695929578 | 1695529606 | 1695529578 | 1 | 
| 1695929578 | 1695529578 | 1695529606 | 0 | 
| 1695929578 | 1695529577 | 1695529721 | 1 | 
| 1695929578 | 1695529721 | 1695529577 | 0 | 
+------------+------------+------------+------+ 

투표가 사용자 (USER_ID)가 이루어질 때마다 두 개의 행이 삽입되어

이런 설정된다. 투표를 한 사람 (득표 = 1)과 그 사람이 경쟁자 인 사람 한 줄, 그리고 잃어버린 사람 (득표 = 0)과 그들의 경쟁자를위한 또 다른 행.

한 가지 질문을 통해 사용자 친구를 전달하고 각기 다른 친구의 투표 수와 전체 투표 수를 되돌릴 수 있기를 바랍니다. 그것은이 같은 것을 반환 :

+------------+-------------+ 
| family_id | total_votes | 
+------------+-------------+ 
| 1695529439 |   9 | 
| 1695529577 |   9 | 
| 1695529578 |   6 | 
| 1695529580 |   7 | 
| 1695529581 |   5 | 
| 1695529606 |   7 | 
| 1695529721 |   7 | 
+------------+-------------+ 

유일한 차이가 나는 사람이 그래서는 그들이 우승 횟수를 주장 얼마나 많은 시간을 비교할 수 votes_for를 포함 할 여분의 열을 원하는 것입니다.

아이디어가 있으십니까?

+0

명확한 질문을 올리려면 +1 코드 블록을 사용하십시오. 뭔가를 놓치지 않는 한 :-) – Smandoli

답변

3

Count() 총 투표 수를 제공합니다. Sum()은 총 투표 수를 줄 것입니다. 내가 빠진 것이 있습니까?

+0

와우. 나는 그것을 생각하지 않았다는 것에 놀랐습니다. 때로는 다른 사람이 걸릴 수도 있습니다. 감사! – ehftwelve

+0

예. 나는 때때로 좌뇌가 포획하고, 누군가 다른 사람이 일시적으로 필요하다고 생각한다. :-) – Smandoli