0

我有一个“产品”表,其中包含“名称”和“价格”列。同名有多个价格。该表看起来像

shampoo 7
shampoo 10
shampoo 8
bread   1
bread   1.5
water   0.5
water   0.7
......

我想要最高价格的行。我试过了

select name, price
from products
group by name
having max(price);

注意:我的问题不是那个,但我想知道解决方案背后的逻辑。谢谢。

4

1 回答 1

3

使用 .为每个不同的名称创建一个组或行group by name。然后您可以选择name(因为组中的每一行都具有相同的名称。)该组有许多价格,您可以使用聚合函数max()检索该组的最高价格。

select  name
,       max(price) as MaxPrice
from    Products
group by
        name
于 2014-06-06T12:40:41.833 回答