用这个语句
select row_number() over(order by Times desc) ID,Title,Content,Times,Resours,NewTypeID from News where NewTypeID=1 查询时得到12个结果,ID分别从1到12,而从这个结果中再用下面的语句查询时:
select title,content from(select row_number() over(order by Times desc) ID,Title,Content,Times,Resours,NewTypeID from News where NewTypeID=1 )where ID=6
从ID从1-6前6个都是对的数据,从7-10都错了,7显示的是8的数据,8显示的是9的数据,依次往后,10显示的11的数据,从11到12就正常了,也就是说查不到ID=7的数据,ID=11的数据重复了两次,ID=10也可以查到ID=11的数据,请问这是何解?
select row_number() over(order by Times desc) ID,Title,Content,Times,Resours,NewTypeID from News where NewTypeID=1 查询时得到12个结果,ID分别从1到12,而从这个结果中再用下面的语句查询时:
select title,content from(select row_number() over(order by Times desc) ID,Title,Content,Times,Resours,NewTypeID from News where NewTypeID=1 )where ID=6
从ID从1-6前6个都是对的数据,从7-10都错了,7显示的是8的数据,8显示的是9的数据,依次往后,10显示的11的数据,从11到12就正常了,也就是说查不到ID=7的数据,ID=11的数据重复了两次,ID=10也可以查到ID=11的数据,请问这是何解?
Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。
②DENSE_RANK:
Dense_rank函数返回一个唯一的值,除非当碰到相同数据时,此时所有相同数据的排名都是一样的。
③RANK:
Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。
select row_number() over(??? order by Times desc)
over what?