2012-05-04 101 views
1

我需要從表中獲取兩條信息:來自一個字段和最近條目的最大值。我並不關心所有其他項目。問題的兩個領域是得分和whenadded。有沒有辦法避免做兩個單獨的查詢?MYSQL/PHP兩個字段的最高值:需要兩個查詢?

"SELECT score FROM scores ORDER BY score DESC limit 1" gives highest score. 
"SELECT whenadded FROM scores ORDER BY whenadded DESC limit 1" gives most recent. 

但是,有沒有辦法做一個查詢並獲取這兩個信息?對於這麼小的事情,兩個查詢似乎過分了。謝謝

回答

9
SELECT MAX(score), MAX(whenadded) FROM scores 

這應該工作。

+1

雖然,有可能是一個優勢,分別做了查詢,如果索引是分開的。這個解決方案對於得分和添加時間的多列索引都是很好的。 –

+0

之後我會如何獲取這些值?我剛剛嘗試使用while($ row = mysql_fetch_array($ res))使用$ row ['score']和$ row ['whenadded'],並且它似乎沒有得到值。 – user1260310

+1

@ user1260310,也許一個改進的答案會使用列別名,但是作爲這個解決方案,您需要使用'$ row ['MAX(score)']和'$ row''MAX(whenadded)']'。 –

1

你可以找到得分和最高最大的whenadded

SELECT Max(score), Max(whenadded) FROM scores 
相關問題