2014-09-24 88 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

相關問題