SQL
SELECT ROW_NUMBER() OVER (PARTITION BY categoryid ORDER BY unitprice, productid) AS rownum, categoryid, productid, productname,unitprice FROM Production.Products;
这个SQL查询结果如下。
但是我不明白ROW_NUMBER() OVER (PARTITION BY categoryid ORDER BY unitprice, productid) AS rownum
是什么意思。直到做了下面这个查询才明白:
SQL
SELECT categoryid,productid,productname,unitprice from Production.Products ORDER BY categoryid,unitprice, productid;
所谓的ROW_NUMBER()
就是对数据表格按categoryid
,unitprice
, productid
的优先级进行排序,取得排序号。但是当categoryid
值由1跳到2,或者由2跳到3的时候,排序号重新从1开始计数。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。