中位数是指将数据按大小顺序排列起来,形成一个数列,居于数列中间位置的那个数据。中位数用Me表示。 从中位数的定义可知,所研究的数据中有一半小于中位数,一半大于中位数。中位数的作用与算术平均数相近,也是作为所研究数据的代表值。在一个等差数列或一个正态分布数列中,中位数就等于算术平均数。 在数列中出现了极端变量值的情况下,用中位数作为代表值要比用算术平均数更好,因为中位数不受极端变量值的影响;如果研究目的就是为了反映中间水平,当然也应该用中位数。在统计数据的处理和分析时,可结合使用中位数。 将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+N/2的均值 ,或求出中间两个数的平均数作为中位数。 在Excel中有函数MEDIAN来取中位数,但是在SQL Server中则没有该内置的函数,需要用以下方法求得。
- create table #tb(pid varchar(10),coadcladcon int)
- insert into #tb
- select "PRAA0370",1 union all
- select "PRAA0370",2 union all
- select "PRAA0370",3 union all
- select "PRAA0370",4 union all
- select "PRAA0370",5 union all
- select "PRAA0370",6 union all
- select "PRAA0371",1 union all
- select "PRAA0371",2 union all
- select "PRAA0371",3 union all
- select "PRAA0371",4 union all
- select "PRAA0371",5 union all
- select "PRAA0371",6 union all
- select "PRAA0371",7
-
- WITH OrdersRN AS
- (
- SELECT pid, coadcladcon,
- ROW_NUMBER() OVER(PARTITION BY pid ORDER BY coadcladcon) AS RowNum,
- COUNT(*) OVER(PARTITION BY pid) AS Cnt
- FROM #tb
- )
- select pid,avg(coadcladcon) coadcladcon from (
- SELECT pid,coadcladcon,RowNum,Cnt
- FROM OrdersRN o
- WHERE RowNum IN((Cnt + 1) / 2,(Cnt + 2) / 2)
- )a
- group by pid
Oracle 10g RAC 监听名称:CRS-0210: Could not find resourceSQL多条件查询拼接in中条件方法相关资讯 SQL Server
- Build2016喜讯:Linux用户注册微软 (03月17日)
- SQL Server on Linux 理由浅析 (03月09日)
- 管理SQL Server服务的登录(启动) (02月13日)
| - 微软要抢甲骨文用户?从Oracle迁移 (03月13日)
- 微软发布面向Linux的SQL Server预 (03月08日)
- SQL Server如何修改自增列值以及相 (01月23日)
|
本文评论 查看全部评论 (0)