这句select row_number() over (order by ProductID asc) as RowIndex...
发布网友
发布时间:2022-04-28 15:38
我来回答
共2个回答
热心网友
时间:2022-04-10 10:59
呵呵~ 老实说,要是不是看了你的提问,我还真不知道有这么个东西呢~
ROW_NUMBER()是一个系统函数,可以生成一组自然编号之类的东西,而OVER只在这里配合使用,表示按ProctID字段升序编号,最后作为 RowIndex 的名称。
总之,查询出来的结果,是一组编号而已。
建议到MSDN上查阅详细的用法~~
参考资料:http://msdn.microsoft.com/
热心网友
时间:2022-04-10 12:17
这个是Oracle中比较常见的用法。
[TEST2@orcl#19-4月 -11] SQL>select * from a;
DTIME RCOUNT
---------- ----------
2011011101 2
2011011101 3
[TEST2@orcl#19-4月 -11] SQL>select row_number()over(order by dtime ) as rowseq,dtime,rcount from a;
ROWSEQ DTIME RCOUNT
---------- ---------- ----------
1 2011011101 3
2 2011011101 2
主要用于查询数据的时候显示序号。
over是Oracle的开窗函数。
over(order by dtime ) 就是按照dtime排序并进行累加。 对什么累加呢?就是前面的row_number()系统函数。
你可以再试试sum(列)over(partition by id order by salary)等 可以求工资的累加和。