我有下一个SQL查询
第一个月
返回下一个结果
Result of the query
我想得到相同的表为每个productId与最小googlePrices
enter image description here的
我试过使用group by,有.这样的东西:select t.productId, MIN(t.googlePrice), t.priceRaw, t.id, t.title from prices t group by t.productId
个
但这不是我想要的结果。
我需要一个表与记录为每个productId分钟googlePrice。我已经标记了记录,我需要与绿色线。
Result that I need的
我解不开这个任务,帮帮忙!
1条答案
按热度按时间q9yhzks01#
你可以使用一个windows函数,按productId分区。根据你的问题,不确定你是否想要一个新的列与min_price,或者更确切地说,只是记录与min价格。下面两个选项。
字符串
查询#1(如果您只需要另一列并显示所有行)
型
| ID| productId|标题|googlePrice|最低价格|
| --|--|--|--|--|
| 4 | 888 |DDDD| 5 | 5 |
| 1 | 22222 |ABC| 20 | 10 |
| 2 | 22222 |CDE| 50 | 10 |
| 3 | 22222 |ZZZZ| 10 | 10 |
查询#2(如果您只想显示最小行)
型
| ID| productId|标题|googlePrice| MP|
| --|--|--|--|--|
| 4 | 888 |DDDD| 5 | 1 |
| 3 | 22222 |ZZZZ| 10 | 1 |
View on DB Fiddle
UPDATE如果您的productId最低价格有关系,并且希望显示最低值的ALL,则使用
RANK()
而不是ROW_NUMBER()
。