博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

查询时用ROW_NUMBER()返回行号

Posted on 2011-04-12 19:46  光照峋山  阅读(417)  评论(0编辑  收藏  举报
SELECT ROW_NUMBER() OVER (PARTITION BY partition_column ORDER BY order_column)
FROM tablename
ORDER BY后为 排序列,必须指明

PARTITION BY 可选,它将结果集按照分区列分为多个分区,函数分别应用于每个分区,并为每个分区重新启动计算。

如下列查询结果

Rownumber    Category    ProductName

         1             Book           My Life
         2             Book           Harry Poter
         3             Book           Beginning C++
         1             Pencil          2B
         2             Pencil          HB