SQL Server 下取中位数(中位值)的方法
2012-09-24 17:14
295 查看
中位数是指将数据按大小顺序排列起来,形成一个数列,居于数列中间位置的那个数据。中位数用Me表示。
从中位数的定义可知,所研究的数据中有一半小于中位数,一半大于中位数。中位数的作用与算术平均数相近,也是作为所研究数据的代表值。在一个等差数列或一个正态分布数列中,中位数就等于算术平均数。
在数列中出现了极端变量值的情况下,用中位数作为代表值要比用算术平均数更好,因为中位数不受极端变量值的影响;如果研究目的就是为了反映中间水平,当然也应该用中位数。在统计数据的处理和分析时,可结合使用中位数。
将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+N/2的均值 ,或求出中间两个数的平均数作为中位数。
在Excel中有函数MEDIAN来取中位数,但是在SQL Server中则没有该内置的函数,需要用以下方法求得。
从中位数的定义可知,所研究的数据中有一半小于中位数,一半大于中位数。中位数的作用与算术平均数相近,也是作为所研究数据的代表值。在一个等差数列或一个正态分布数列中,中位数就等于算术平均数。
在数列中出现了极端变量值的情况下,用中位数作为代表值要比用算术平均数更好,因为中位数不受极端变量值的影响;如果研究目的就是为了反映中间水平,当然也应该用中位数。在统计数据的处理和分析时,可结合使用中位数。
将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(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
相关文章推荐
- SQL Server 下取中位数(中位值)的方法
- 分享SQL Server删除重复行的6个方法
- sql server 对象名无效的解决方法
- sql server 2005中对I/O观察的一个好的方法
- SQL Server 2000 附加 SQL Server 2005 数据库具体方法
- 安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法
- SQL SERVER 查看日志大小及日志已满的处理方法 (转)
- Sql Server实用操作-更改数据库中表的所属用户的两个方法
- Sql Server将一列字段拼接成字符串方法
- SQL Server字符串比较时区别大小写方法
- Sql Server中三种字符串合并方法的性能比较
- 安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法
- 【转】SQL Server 2005 不允许远程连接解决方法
- sql语句字符串拼接的两种方法 SQL Server
- 【Vegas原创】SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问解决方法
- SQL SERVER 2008 通过链接服务器(Linked Server)访问 ORACLE 9i /10g的方法 (亲测)
- SQL Server 优化存储过程的七种方法
- sql server获得新记录标识列值的二种方法
- SQL Server查询优化方法
- 在SQL Server中使用CLR调用.NET类库中的方法