ID Name Price
--------------------------------------
1 item1 10
2 item2 40
3 item3 10
4 item4 20
5 item5 50
6 item6 20
假设您在上面有此表,并希望检索以下内容:
ID Name Price
5 item5 50
但是您想通过使用最高价格来检索以上内容。我目前正在使用以下代码。
SELECT
MAX(price) AS Price,
Name,
ID
FROM
ExampleTable
GROUP BY
Name, ID;
答案 0 :(得分:3)
在SQL Server中,我们可以尝试:
it[i] > 0
如果可能有多个记录以最高价格并列,并且您还想报告所有联系,那么我们可以使用SELECT TOP 1 *
FROM yourTable
ORDER BY Price DESC;
:
WITH TIES
如果您想使用SELECT TOP 1 WITH TIES *
FROM yourTable
ORDER BY Price DESC;
仅选择某些列,则只需列出这些列即可,例如
TOP
仅选择SELECT TOP 1 ID, Price
和ID
列。
答案 1 :(得分:1)
使用top作为您的DBMS是sql server
select top 1 * from your_table
order by Price desc
您还可以使用窗口功能
with t1 as
(
select * , row_number() over(order by Price desc) as rn from your_table
) select ID ,Name ,Price from t1 where rn=1