1

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

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

我需要计算 7 个对象的属性 2 的最小值,这些对象的值小于属性 1 的特定阈值。这 7 个对象的属性 1 的值采用升序算术刻度。所以对象 1 的属性 1 永远小于对象 1 的属性 2。

提前感谢您提供任何线索!

4

1 回答 1

1

如果数据被标准化,这将更容易。(提示,任何时候你找到一个带有数字的列名,你都会看到一个很大的危险信号,表明模式不是第三范式。)使用你描述的表,它需要相当多的代码,但greatest()andleast()函数可能是你最好的朋友。

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

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

于 2012-04-26T18:56:31.483 回答