我需要从表中获取最大行

时间:2018-09-14 17:05:28

标签: sql

我有这样的桌子:

id | idx | cost
1    1     500
2    1     1000
3    2     500
4    2     9000

我需要获得最大cost,其中id=@id

所以我写了这个查询:

SELECT   Id
FROM    table
WHERE (cost= (SELECT MAX(cost) AS Expr1 FROM  table AS table_1)) AND (idx= @idx)

但这仅在成本最高时才起作用

我需要获得最大费用的ID,其中idx=@idx

1 个答案:

答案 0 :(得分:2)

使用top (1)子句:

select top (1) t.*
from table t
where idx = @id
order by cost desc;