SQL语句,仅选择其中一列中包含最大值的行
我有下表:SQL语句,仅选择其中一列中包含最大值的行,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有下表: select * from [Auction].[dbo].[Bids] 我需要选择具有最高BidValue的行。当我这样做的时候 SELECT bids.itemId, max(bids.[bidValue]) as HighestBid FROM [Auction].[dbo].[Bids] bids WHERE bids.itemId = 2 GROUP BY bids.itemId 我得到了正确的一行: 。。。但是当我添加另外两个字段时,它不起作用(我知道它显示了3行
select * from [Auction].[dbo].[Bids]
我需要选择具有最高BidValue的行。当我这样做的时候
SELECT bids.itemId, max(bids.[bidValue]) as HighestBid
FROM [Auction].[dbo].[Bids] bids
WHERE bids.itemId = 2
GROUP BY bids.itemId
我得到了正确的一行:
。。。但是当我添加另外两个字段时,它不起作用(我知道它显示了3行,因为Group by,但是如果我没有将这些字段包括在Group by中,它会抛出一个错误):
所以,我需要它显示一行,其中包含itemId、HighestBid、submittedBy和submittedOn
感谢您的帮助 您只需执行以下操作:
select TOP 1 * from Bids where ItemId = 2 order by BidValue desc
试试这个
select top 1 * from Bids order by BidValue desc
如果超过一个最高值,则使用
select TOP (1) with ties *
from Bids where ItemId = 2 order by BidValue desc
什么数据库管理系统?SQL Server?为同一个bidvalue但第一个出价的答案添加更多内容(重复出价场景-极不可能)。从[Auction].[dbo].[Bids]Bids中选择*,其中Bids.itemId=2 ORDER BY BidValue Desc,SubmittedOn这不会产生@kate想要的结果。。您应该为项目添加where子句,否则它将为您提供所有项目中的最高出价。“我需要选择具有最高出价值的行”-未提及项目ID:)
select TOP (1) with ties *
from Bids where ItemId = 2 order by BidValue desc