您的位置:首页 > 数据库

t-sql row_number()over(partition by 使用说明

2015-03-31 21:34 363 查看
select CompanyID from
(select id,CompanyID,datacid,row_number()over(partition by CompanyID,datacid
order by id) m
from t_Assessment_detail where Ischeck=1 and Datacid='20150319193127793' ) t
where t.m =2


其中的关键语句:

row_number()over(partition by CompanyID,datacid order by id)


解释:按照CompanyID和datacid进行分组,然后再根据id进行排序,最终为每一行数据形成新的编号,



看第2、3、4三行数据,m列的1、2、3就是分组后形成的新的编号,因为companyid和datacid同时相同的数据有3条,所以,m最多是3,

此时,如果想取得有重复数据的companyid的话,直接加上条件m=2就行了,有的人用m<>1,也行,但是还是需要distinct的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: