vertica 中位数函数 MEDIAN 的使用
中位数函数:MEDIAN
使用表达式:MEDIAN ( expression ) OVER ( [ window‑partition‑clause ] )
准备测试数据:
CREATE TABLE allsales(state VARCHAR(20), name VARCHAR(20), sales INT); INSERT INTO allsales VALUES('MA', 'A', 60); INSERT INTO allsales VALUES('NY', 'B', 20); INSERT INTO allsales VALUES('NY', 'C', 15); INSERT INTO allsales VALUES('MA', 'D', 20); INSERT INTO allsales VALUES('MA', 'E', 50); INSERT INTO allsales VALUES('NY', 'F', 40); INSERT INTO allsales VALUES('MA', 'G', 10); COMMIT;
最简单的用法:
=> SELECT name, sales, MEDIAN(sales) OVER() AS median FROM allsales; name | sales | median ------+-------+-------- G | 10 | 20 C | 15 | 20 D | 20 | 20 B | 20 | 20 F | 40 | 20 E | 50 | 20 A | 60 | 20
可以按照指定字段分组,显示所在分组的中位数,如下:
=> SELECT state, name, sales, MEDIAN(sales) OVER(partition by state) AS median FROM allsales; state | name | sales | median -------+------+-------+-------- MA | G | 10 | 35 MA | D | 20 | 35 MA | E | 50 | 35 MA | A | 60 | 35 NY | C | 15 | 20 NY | B | 20 | 20 NY | F | 40 | 20
官方文档:
作者:Lave Zhang
出处:http://www.cnblogs.com/lavezhang/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。