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

时间:2013-05-22 02:53:31

标签: sql postgresql

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

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

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

1 个答案:

答案 0 :(得分:6)

在PostgreSQL中,你可以这样做:

select least(price1, price2, price3, ..)
from products    

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