如何找到 sql 中不止一件最贵的商品?
How to find most expensive items in sql with more than one most expensive item?
我的数据库中有不止一件价格最高的商品,我想知道如何在不使用 LIMIT 的情况下 return 我的数据库中价格最高的最贵商品。
我试过使用
SELECT MAX(price) FROM items
但它只有 return 一件价格最高的商品(我有两件价格最高的商品)。
我的数据库的模式是
items (itemID: integer, description: string, price: integer)
一种方法是使用连接来获取它们,如下所示:
SELECT I.* FROM Items I JOIN
(SELECT MAX(price) AS maxprice FROM items) M
ON I.price=M.maxprice;
这会起作用。
SET @p1 := (SELECT MAX(price) FROM items);
SELECT * FROM items WHERE price = @p1;
使用变量,p1
存储 table items
中的最大值 price
,然后在以下查询中使用变量 p1
来 return 所有具有最高价格的记录,而不限制您想要的记录数量。
你可以试试这个伙伴:
SELECT * FROM items
WHERE itemID IN (
SELECT itemID FROM items
WHERE price IN (
SELECT MAX(price) FROM items
)
);
或这个
SELECT * FROM items
WHERE price IN (
SELECT MAX(price) FROM items
);
我的数据库中有不止一件价格最高的商品,我想知道如何在不使用 LIMIT 的情况下 return 我的数据库中价格最高的最贵商品。 我试过使用
SELECT MAX(price) FROM items
但它只有 return 一件价格最高的商品(我有两件价格最高的商品)。
我的数据库的模式是
items (itemID: integer, description: string, price: integer)
一种方法是使用连接来获取它们,如下所示:
SELECT I.* FROM Items I JOIN
(SELECT MAX(price) AS maxprice FROM items) M
ON I.price=M.maxprice;
这会起作用。
SET @p1 := (SELECT MAX(price) FROM items);
SELECT * FROM items WHERE price = @p1;
使用变量,p1
存储 table items
中的最大值 price
,然后在以下查询中使用变量 p1
来 return 所有具有最高价格的记录,而不限制您想要的记录数量。
你可以试试这个伙伴:
SELECT * FROM items
WHERE itemID IN (
SELECT itemID FROM items
WHERE price IN (
SELECT MAX(price) FROM items
)
);
或这个
SELECT * FROM items
WHERE price IN (
SELECT MAX(price) FROM items
);