postgresql计算列条件的最小值conditiong对其他列的值

时间:2012-04-26 17:50:45

标签: postgresql

我可以使用标准SQL执行此操作,还是需要为以下问题创建函数?

我有14列,代表7个连续对象的2个属性(1到7的顺序很重要),所以 table.object1prop1,...,table.object1prop7,table.objects2prop2,...,table.objects2prop7。

我需要计算7个对象的属性2的最小值,这些对象的值小于属性1的特定阈值。 7个对象的属性1的值以递增的算术比例取值。因此,对象1的属性1将小于对象1的属性2.

提前感谢任何线索!

1 个答案:

答案 0 :(得分:1)

如果数据被标准化,这将更容易。 (提示,每当你找到一个带有数字的列名时,你就会看到一个大的红色标志,表示该模式不是第3范式。)使用你描述的表,它将需要相当多的代码,但greatest()least()功能可能是您最好的朋友。

http://www.postgresql.org/docs/current/interactive/functions-conditional.html#FUNCTIONS-GREATEST-LEAST

如果我必须为此编写代码,我可能会将这些值输入CTE并从那里开始工作。