[英]select row with max value of a group of rows in sql
我有一个“产品”表,其中有“名称”和“价格”列。同一名称有多个价格。该表看起来像
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);
注意:我的问题不是那样,但是我想知道解决方案背后的逻辑。 谢谢。
使用group by name
为每个不同的名称创建一个组或行。 然后,您可以选择name
(因为组中的每一行都具有相同的名称。)该组具有许多价格,并且可以使用聚合函数max()
检索该组的最高价格。
select name
, max(price) as MaxPrice
from Products
group by
name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.