2016-04-24 94 views
0

嗨,當我在PostgreSQL中運行簡單的相關性查詢功能科爾(雙精度,雙精度)不存在 - PostgreSQL的

select 
    corr(m07_selling_price_total_usd, m12_amount_of_commission_earned_usd) 
from order; 

我獲得以下錯誤:

ERROR: function corr(double precision, double precision) does not exist

任何想法關於如何解決它?這兩個變量都是雙精度的,所以根據文檔(http://www.postgresql.org/docs/9.4/static/functions-aggregate.html)它應該工作。

+1

你可以運行'選擇版本();'和'顯示SEARCH_PATH; '? –

+0

Tx Clement,我查過了,確實是8.02(AWS上的Redshift),經過進一步研究確實是這樣 - 它們不支持corr()。這是你建議的版本問題。非常感謝您的幫助! – user3507882

回答

0

由於自PostgreSQL 8.2以來存在corr,我猜測你的配置不好search_path

此配置告訴PostgreSQL何時使用非架構前綴對象。

如果明確指定架構它應該工作(我用\df corr地發現,這個函數位於pg_catalog

select 
    pg_catalog.corr(m07_selling_price_total_usd, m12_amount_of_commission_earned_usd) 
from "order";