假设我有,其中有两个字段,名和号(我只是提出我的问题的前提下这里)一张桌子和假设我将返回最大值为的行数。如果我使用命令如何基于最大值在其列中的一个SQL返回多行
SELECT name, MAX(number) FROM tablename;
但是,如果我有一个最大的数字两个或两个以上这样的行,我是怎么修改上面的查询,以获得所有的行?
编辑:我希望它返回所有可能找到最大值的行,而不只是其中一行,它应该正确地与正确的名称相关联。
假设我有,其中有两个字段,名和号(我只是提出我的问题的前提下这里)一张桌子和假设我将返回最大值为的行数。如果我使用命令如何基于最大值在其列中的一个SQL返回多行
SELECT name, MAX(number) FROM tablename;
但是,如果我有一个最大的数字两个或两个以上这样的行,我是怎么修改上面的查询,以获得所有的行?
编辑:我希望它返回所有可能找到最大值的行,而不只是其中一行,它应该正确地与正确的名称相关联。
您使用where
条款:
select t.*
from tablename t
where t.number = (select max(number) from tablename);
查询,顺便说一下,只返回的最大数量。它返回可以来自任何行的name
的任意值。
如果你想只有一个值,你应该使用:
select t.*
from tablename
order by number desc
limit 1;
我希望它返回所有可能找到最大值的行,而不只是其中一行,它应该正确地与正确的名称相关联。 – SoulRayder 2014-09-21 14:15:18
@SoulRayder。 。 。这是第一个查询所做的。 – 2014-09-21 15:01:32