问题补充说明:select row_number() over (order by ProductID asc) as RowIndex, p.ProductID, p.ProductName, p.CategoryID, p.Unit, p.UnitPrice, p.Quantity from Products as p where CategoryID = @CategoryID; 这句select row_number() over (order by ProductID asc) as RowIndex, 不明白
这个是Orac缩矿反块美否复le中比较常见的用法。
[TEST2@orcl#19-4月-11]谓则地客损红SQL>select*froma;
DTIMER360问答COUNT
--------------------
20110111012
20110111013
[TEST2@orcl#19-4月-11]SQL>selectrow_number()over(orderbydtime)asrowseq,dtime,rcountfroma;
ROWSEQDT商率书东有导IMERCOUNT
------席构耐其绍探杂单护与导------------------------
120110111013
220110111012
主要用于查询数据的时候显示序号。
over是Oracle的开窗函数。
over(orderbydtime)就是按照dtime排序并进行累加。对什么累加呢?就是前面的row_number()系统函数。
你可以再试试sum(列)over(partitionbyidorderbysalary)等可以求工资的累加和。