YashanDB MEDIAN函数

MEDIAN函数计算给定参数expr的中位数,仅支持expr类型为数值型或者日期时间型,使用其他数据类型会返回错误。

本函数不支持向量化计算。

MEDIAN窗口函数不能与DISTINCT以及ORDER BY语句一起使用。

函数返回值类型:

数据类型返回值类型
TINYINTNUMBER
SMALLINTNUMBER
INTNUMBER
BIGINTNUMBER
FLOATFLOAT
DOUBLEDOUBLE
NUMBERNUMBER
DATEDATE
TIMESTAMPTIMESTAMP
TIMETIME
INTERVALINTERVAL

单行计算中,当expr的值为空时函数返回NULL;expr为字面NULL时报错。expr使用绑定参数,绑定字面NULL,返回结果NULL。

多行计算中,函数将忽略expr值为空的行。当所有行均为空时,计算结果为NULL。

ALL

表示对所有行计算中位数。

query_partition_clause

窗口函数通用语法。

expr只支持INT、NUMBER与时间类型。partition by的参数支持除LOB、JSON、XMLTYPE、UDT外的其它数据类型。

示例(HEAP表)

-- 创建表exam并插入数据
CREATE TABLE exam(id INT,score INT);
INSERT INTO exam VALUES(1,99);
INSERT INTO exam VALUES(2,80);
INSERT INTO exam VALUES(3,80);

SELECT id, score FROM exam;
          ID        SCORE
------------ ------------
           1           99
           2           80
           3           80

SELECT MEDIAN(score) res FROM exam;
         RES
------------
         80

SELECT MEDIAN(score) OVER () res FROM exam;
                RES
-------------------
                 80
                 80
                 80

SELECT MEDIAN(score) OVER (PARTITION BY id) res FROM exam;
                 RES
--------------------
                  99
                  80
                  80

SELECT MEDIAN(null) OVER() FROM sys.dual;
[1:15]YAS-04322 invalid datatype
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值