2012-04-26 54 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

相關問題