在表格的每一行中找到最小值的优雅方法是什么?

Jam*_*esF 1 sql postgresql

我有一张桌子,每个产品有一排,以及产品在十个不同商家的价格.我希望看到的是每个产品在这些不同商家中的最低价格.

在Excel中这很容易,因为MIN()函数适用于任何一组单元格,无论它们是水平还是垂直排列.但是,SQL中的MIN()仅作用于列,因此我能够找到所有产品中最便宜的商家1等价格.

是否有一种优雅的方式来获得每行的最低价格?(是否有可以执行此操作的OLAP函数,或者是否必须使用循环来解决问题?)

Blo*_*ard 6

在PostgreSQL中,你可以这样做:

select least(price1, price2, price3, ..)
from products    
Run Code Online (Sandbox Code Playgroud)

LEAST为您提供值列表的最小值.这是非聚合版本的MIN.