使用MAX()从检索到的列中获取相关数据

时间:2014-09-24 20:25:40

标签: mysql sql

SELECT MAX(count) FROM visits

通过这个示例查询,我获得了一个页面最活跃的用户。但是使用MAX()我只能获得最大count,例如用户的最大访问次数。

是否有可能将相关数据count来自的空洞列)检索到所选的count值,例如username?< / p>

2 个答案:

答案 0 :(得分:2)

您可以使用此查询:

SELECT visits.*
FROM   visits
WHERE  count=(SELECT MAX(count) FROM visits)
如果多次访问共享相同的最大计数,则此查询可能会返回多行。

答案 1 :(得分:0)

对于那些来自RDBMS支持窗口的人来说,一个干净的解决方案是

SELECT * FROM
  (SELECT visits.*, rank() AS r
  OVER (ORDER BY visits.count DESC)
  FROM visits) AS subquery
WHERE r=1;

这个问题是标记为mysql但没有这个问题。正确处理最大关系。