假设我在Postgres中有下面的表:
fruit
fruit_id owner_id fruit_price notes
-------------------------------------------
1 5 15
2 5 30
3 5 20
4 8 10
5 8 80
我正在寻找一种方法来更新最便宜的水果拥有的人。
也就是说,我正在寻找一个操作,该操作允许我将notes
列设置为个人拥有的最便宜的水果,因此这应该只更新一行(如果最小值有几个关系,则更新多行是可以的)。
例如(伪代码):
UPDATE fruit SET notes = 'wow cheap' WHERE owner_id = 5 AND fruit_price IS cheapest;
这将更新上面示例数据中的第一行,因为1
的fruit_id
是用户5
拥有的最便宜的水果。
1条答案
按热度按时间9jyewag01#
一种可能的方法是简单地使用相关子查询: