[英]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.