SQLServer2005 中的几个统计技巧
更新时间:2009年09月06日 01:20:42 作者:
先看下面的一个表格,我们从左边的两列信息来统计出右边的结果。
在SQLServer中我们可以用over子句中来代替子查询实现来提高效率,over子句除了排名函数之外也可以和聚合函数配合。实现代码如下:
复制代码 代码如下:
use tempdb
go
if (object_id ('tb' ) is not null )
drop table tb
go
create table tb (name varchar (10 ), val int )
go
insert into tb
select 'aa' , 10
union all select 'aa' , 20
union all select 'aa' , 20
union all select 'aa' , 30
union all select 'bb' , 55
union all select 'bb' , 45
union all select 'bb' , 0
select *
, 排名 = rank ()over (partition by name order by val )
, 占比 = cast (val * 1.0 / sum (val )over (partition by name ) as decimal (2 , 2 ))
, 距最大 = val - max (val )over (partition by name )
, 距最小 = val - min (val )over (partition by name )
, 距平均 = val - avg (val )over (partition by name )
from tb
相关文章
安装SQL server 2005 出现警告 32位ASP.NET已经注册,需要注册64位的解决方法
这篇文章主要介绍了安装SQL server 2005 出现警告 32位ASP.NET已经注册,需要注册64位的解决方法,需要的朋友可以参考下2015-01-01SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
在图形界面中,选择备份文件,设置覆盖原有数据库,指定现数据库文件所在的位置,选择错误回滚,点击确定2013-01-01winXP系统安装SQLServer2005开发版具体过程与注意问题
XP系统系统只能安装SQL Server 2005开发版,可以到到网上下载SQL Server 2005开发版的iso文件2009-08-08
最新评论