SQl Partition by 和group by 的区别---实例演示(转)

标签:
sqlsqlserver数据库 |
http://images.cnitblog.com/blog2015/747019/201505/140840417987202.jpgPartition
主键为ID
select * from [infotops] where Id in (select max(id) from
[infotops] group by InfoId)
----------------------------------------------------- 巩固----------------------------------------------
group
by
http://images.cnitblog.com/blog2015/747019/201505/141851073922278.jpgPartition
PARTITION BY
SELECT ROW_NUMBER() OVER ( PARTITION BY Infoid order by id desc)
rowNum ,
*
FROM [InfoTops] t1 with(nolock)
http://images.cnitblog.com/blog2015/747019/201505/141842292517207.jpgPartition
with infos as
(
SELECT ROW_NUMBER() OVER ( PARTITION BY Infoid order by id desc)
rowNum ,
*
FROM [InfoTops] t1 with(nolock)
)
select * from infos where rowNum=1
http://images.cnitblog.com/blog2015/747019/201505/141845234859476.jpgPartition
http://images.cnitblog.com/blog2015/747019/201505/141846351261125.jpgPartition