SELECT * FROM car
test-# ;
id | make | model | price
------+---------------+-------------------------+----------
1 | GMC | Sonoma Club | 59705.11
2 | Nissan | Pathfinder | 97737.00
3 | GMC | Savana 3500 | 19930.80
4 | Honda | Passport | 38793.10
5 | Pontiac | GTO | 34637.61
这是我的汽车数据库我想从price
列返回汽车的最大价格。当我使用查询SELECT MAX(price) FROM car;
时,它只返回价格的最大值,如下所示
test=# SELECT MAX(price) FROM car;
max
----------
99897.25
(1 row)
我想返回汽车名称、车型名称以及价格。
demo:db<>fiddle
您可以根据price DESC
对表排序到具有最高price
的第一个记录。然后,您可以将您的输出LIMIT
到这一条记录。
SELECT
*
FROM car
ORDER BY price DESC
LIMIT 1
似乎有可能有2辆或更多的汽车具有相同的max价格。然后你是随机选择一个,还是全部列出。如果是后者,则:
select *
from car
where price = (select max(price)
from car
)
order by id;