代码改变世界

分区函数 – over (partition by …)

2010-09-21 16:49  Jeff Chow  阅读(510)  评论(1编辑  收藏  举报
Technorati Tags: over partition

依然是学生表(Student),字段依然是性别(Sex)、班级(Clazz)、年龄(Age)。

select *, sum(Age) over (partition by Sex order by Clazz)

 

group by会对所有的查询字段进行分组,而over (partition by …)只会对over前面的列进行分组。在括号中也可以不写(partition by …)而直接使用(order by …)。而在Oracle中使用(order by … range between 2 and 4 following)来过滤显示的集合,在Sql Server中暂时还不清楚怎么使用。

 

因为怕不记得,也是个简单记录,以后再补充。