您将如何检索整列

时间:2018-10-18 06:54:35

标签: sql sql-server

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;

2 个答案:

答案 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