PostgreSQL用sql求中位数、众数和平均数

本文介绍了如何在PostgreSQL中使用SQL查询来计算数据表中的众数、中位数和平均数。示例中展示了对于名为`t_test`的表,众数(mode)为2,中位数(percentile_disc)在数据分布为偶数时的结果,以及整个表的平均数(avg)计算方法。
摘要由CSDN通过智能技术生成


PostgreSQL中的中位数、众数和平均数。

众数

postgres=# select mode() within group (order by id) as mode from t_test;
 mode
------
    2
(1 row)

中位数

当为偶数时,结果没有按数学上的定义,进行相加在除二。
官方文档1
官方文档2

postgres=# select percentile_disc(0.5) WITHIN GROUP (ORDER BY id) from t_test;
 percentile_disc
-----------------
               3
(1 row)

平均数

postgres=# select avg(id) from t_test;

测试表

postgres=# create table t_test(id int4);
CREATE TABLE
postgres=# insert into t_test(id) values(1),(2),(2),(3),(4),(5),(6),(2),(7),(4),(8),(2);
postgres=# select * from t_test order by id;
 id
----
  1
  2
  2
  2
  2
  3
  4
  4
  5
  6
  7
  8
(12 rows)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值