当我尝试在双列上运行以下查询时:
SELECT stddev_samp(col1) FROM t1
我明白了:
Error: SELECT: no such unary operator 'stddev_samp(double)'
SQLState: 22000
ErrorCode: 0
如果我针对int列运行它,我得到:
Error: SELECT: no such unary operator 'stddev_samp(int)'
SQLState: 22000
ErrorCode: 0
当我尝试执行上面提到的任何stat_func时,我遇到了同样的错误:https://www.monetdb.org/Documentation/SQLreference/StatisticFunctions
看起来如果我没有安装对统计函数的支持,因为否则MonetDB运行良好。是否有如何添加统计函数的过程?
背景知识:
版本:MonetDB数据库服务器工具包v1.1(Oct2014-SP2)
操作系统:OS X 10.9.5
数据库是从存档安装的:MonetDB-11.19.9-x86_64-Darwin-9-bin.tar.bz2
答案 0 :(得分:3)
这对我有用:
选项1)尝试使用
SYS.STDDEV_SAMPLE ()
SYS.MEDIAN ()
等......而不是“普通”
STDDEV_SAMPLE ()
MEDIAN ()
选项2)(不推荐):
使用名为monetdb
的用户。
答案 1 :(得分:1)
此代码工作正常。在您提供complete reproducible example之前,很难帮助您进行问题排查。 :)
CREATE TABLE t1 ( col1 INT, col2 DOUBLE );
INSERT INTO t1 VALUES ( 1 , 3 ) , ( 2.0 , 4.0 ) ;
SELECT stddev_samp( col1 ) FROM t1 ;
SELECT stddev_samp( col2 ) FROM t1 ;
SELECT stddev_pop( col1 ) FROM t1 ;
SELECT stddev_pop( col2 ) FROM t1 ;