2014-09-24 23 views
0
SELECT MAX(count) FROM visits 

通过本示例查询得到了例如最活跃的页面用户。但与MAX()我只能得到最大的count,例如用户的最大访问量。从MAX中获取与检索列相关的数据

是否有可能,检索相关数据(其中count是从哪里来的孔列)到选定count值,e.g的username

+3

'ORDER BY count DESC LIMIT 1'虽然多个用户拥有相同的最大访问次数(?),但不会考虑这种情况(并且您也没有明确提及) – zerkms 2014-09-24 20:27:22

回答

2

您可以使用此查询:

SELECT visits.* 
FROM visits 
WHERE count=(SELECT MAX(count) FROM visits) 

这种查询可以返回多个行,如果多次访问共享相同的最大计数。

+0

好主意,我会看一下这个! – Smeaven 2014-09-24 20:36:37

0

对于任何人谁到这里来,其RDBMS支持窗口,一个干净的解决方案是

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

这个问题是标签不具备这个MySQL。最大关系正确处理。

+0

所以,这适用于MySQL? – Smeaven 2014-09-25 09:14:55

+1

我不这么认为;它似乎在请求的功能列表上。我不使用MySQL。抱歉。但是,人们倾向于从搜索引擎的SO页面登陆,他们可能会使用who-knows-what。这对Po​​stgreSQL有用,我相信SQL Server和Oracle。 – 2014-09-25 14:49:02