2同一列的条款

时间:2011-03-31 17:42:49

标签: mysql sql

我有一张表格,其中包含用户对朋友的投票。

设置如下:

+------------+------------+------------+------+
| 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)和他们的竞争者的另一行。

通过一个查询,我希望能够传递用户朋友并获得每个不同朋友的FOR和TOTAL投票数。它会返回这样的东西:

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

唯一的区别是我想要一个额外的列,其中包含那个人的votes_,这样我就可以比较他们争取多少次他们赢了多少次。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

Count()会给出总票数。 Sum()会给你一些有利的选票。有什么我想念的吗?