2012-04-26 55 views
1

我可以用标准SQL来做到这一点,或者我需要为以下问题创建函数吗?postgresql计算列的最小值conditiong对其他列的值

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

我需要计算7个对象中属性1的值小于特定阈值的属性2的最小值。 7个对象的属性1的值取值为递增的算术尺度。因此,对象1的属性1永远小于对象1的属性2.

在此先感谢您的任何线索!

回答

1

如果数据正常化,这样会更容易。 (提示,任何时候当你找到一个带有数字的列名时,你就会看到一个大的红色标志,表明该模式不是第三范式)。对于你所描述的表格,它需要相当数量的代码,但greatest()least()的功能可能是你最好的朋友。

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

如果我不得不写代码,这一点,我可能会从那里喂值成CTE和工作。

+0

嗨,谢谢。我知道最大()和最小(),但主要问题是合并他们做这项工作。所以,可能我需要写一个函数。我会看看CTE并尝试理解它。 – 2012-04-26 20:37:04

相关问题