簡體   English   中英

在sql中選擇具有一組行的最大值的行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM