2011-02-23 181 views
0

我有這個MySQL查詢名單「投票排名」的「行動」,它工作正常,但我想什麼「id_user」不重複,就像在這個領域作出了「DISTINCT」。MySQL查詢排名

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 
+0

您的查詢和結果沒有匹配的列數。然而,那表示我會將列數減少到需要的數量,並將其他聚合(最小/最大)置於不希望返回多次的列上。 – AgentDBA 2011-02-23 15:31:05

回答

0

如果你不想重複的用戶,你應該只group by a.id_user。然後,您必須彙總您的操作,因此您可能需要sum(a.action)count(a.action)來代替a.action。如果不知道「行動」代表什麼,很難說出你應該使用什麼。