2012-05-04 95 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 
相关问题