MySQL 需要明确的指导
MySQL Distinct guidance needed
我的目标:显示在一个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 位作者,但我得到了重复的名字。有什么帮助吗??
尝试删除 DISTINCT
之后围绕 rev_authorUsername
的括号,它们不应该存在,并且可能会影响您的结果。
DISTINCT
修饰符适用于所选集,请勿在 rev_authorUsername
周围使用括号
- 使用
DISTINCT
和GROUP_BY
(这里有不同的列)may have some unexpected result:
(…) cavalier treatment of "Group By" and "Distinct" could lead to some
pernicious gotcha's down the line if you're not careful.
这个请求怎么样:
SELECT DISTINCT rev_authorUsername, COUNT(rev_id) as revnum
FROM t_revision
ORDER BY revnum DESC
LIMIT 10;
(DISTINCT
和 GROUP BY
的使用在 MySQL Reference Manual - SELECT Syntax 中有解释。)
我的目标:显示在一个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 位作者,但我得到了重复的名字。有什么帮助吗??
尝试删除 DISTINCT
之后围绕 rev_authorUsername
的括号,它们不应该存在,并且可能会影响您的结果。
DISTINCT
修饰符适用于所选集,请勿在rev_authorUsername
周围使用括号
- 使用
DISTINCT
和GROUP_BY
(这里有不同的列)may have some unexpected result:
(…) cavalier treatment of "Group By" and "Distinct" could lead to some pernicious gotcha's down the line if you're not careful.
这个请求怎么样:
SELECT DISTINCT rev_authorUsername, COUNT(rev_id) as revnum
FROM t_revision
ORDER BY revnum DESC
LIMIT 10;
(DISTINCT
和 GROUP BY
的使用在 MySQL Reference Manual - SELECT Syntax 中有解释。)