MySQL查询排名

时间:2011-02-23 15:22:08

标签: mysql

我有这个MySQL查询列表“操作”的“投票排名”,它工作正常,但我想要“id_user”不重复,就像在这个领域做了“DISTINCT”。

SELECT
count(v.id) votos, 
v.id_action,
a.id_user,
a.id_user_to,
a.action,
a.descripcion
FROM
    votes v,
    actions a
WHERE
    v.id_action = a.id
GROUP BY
    v.id_action
ORDER BY
    votos DESC

结果:

votes  act     id_user
3      3       745059251
2      20      1245069513
2      23      1245069513
2      26      100000882722297
2      29      1245069513
2      44      1040560484
2      49      1257441644
2      50      1040560484

预期结果

votes  act  id_user
3      3    745059251
2      20   1245069513
2      26   100000882722297
2      44   1040560484
2      49   1257441644
2      50   1040560484

1 个答案:

答案 0 :(得分:0)

如果您不想要重复用户,则只应group by a.id_user。然后,您必须汇总您的操作,因此您可能需要sum(a.action)count(a.action)代替a.action。在不知道“行动”代表什么的情况下,很难说出你应该使用什么。