MySQL需要不同的指导

时间:2018-06-03 21:52:08

标签: mysql distinct

我的目标:显示在一个changeid中提交了最大修订数的前10位用户的名称。 (更改可以有多个修订)

Select DISTINCT(rev_authorUsername), COUNT(rev_id) as revnum FROM t_revision
group by rev_authorUsername, rev_changeId
 order by revnum desc
 limit 10;

我得到了前10位作者,但我得到了重复的名字。有任何帮助吗?

2 个答案:

答案 0 :(得分:1)

  1. DISTINCT修饰符适用于所选集合,请勿在{{1​​}}周围使用括号
  2. 使用rev_authorUsernameDISTINCT(此处包含不同的列)may have some unexpected result
  3.   

    (...)“Group By”和“Distinct”的骑士对待可能导致一些   如果你不小心,就会陷入危险的境地。

    这个请求怎么样:

    GROUP_BY

    MySQL Reference Manual - SELECT Syntax中解释了SELECT DISTINCT rev_authorUsername, COUNT(rev_id) as revnum FROM t_revision ORDER BY revnum DESC LIMIT 10; & DISTINCT的使用。)

答案 1 :(得分:0)

尝试在rev_authorUsername之后移除DISTINCT周围的括号,它们不应该在那里,可能会使您的结果变得混乱。