sqlserver rownumber()

sqlserver2005 :    SELECT     row_number() OVER (ORDER BY t .AgentIdentify ASC, t .AgentLevelRate DESC) AS row
, t .* FROM (SELECT  top 20 * FROM    AgentLevel  ORDER BY AgentIdentify ASC, AgentLevelRate DESC) t

 

 

sqlserver2000:   SELECT     (select count(*) from AgentLevel where AgentLevelRate >=t.AgentLevelRate) AS row
, t .* FROM (SELECT  top 20 * FROM    AgentLevel  ORDER BY AgentIdentify ASC, AgentLevelRate DESC) t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server的ROW_NUMBER()函数用于为查询结果集中的每一行分配一个唯一的数字值。该函数通常与PARTITION BY子句和ORDER BY子句一起使用。 具体用法如下: 1. 基本语法: SELECT column1, column2, ..., ROW_NUMBER() OVER (ORDER BY column) AS row_num FROM table_name; 这个语法将查询结果集中的每一行分配一个唯一的行号,行号按照指定的列进行排序。 2. 使用PARTITION BY子句: SELECT column1, column2, ..., ROW_NUMBER() OVER (PARTITION BY column1 ORDER BY column2) AS row_num FROM table_name; 这个语法将查询结果集按照column1列进行分区,并在每个分区内按照column2列进行排序,然后为每个分区内的行分配一个唯一的行号。 3. 给行号起别名: SELECT column1, column2, ..., ROW_NUMBER() OVER (ORDER BY column) AS alias_name FROM table_name; 这个语法将为行号起一个别名,可以自定义别名的名称。 4. 过滤结果集: SELECT * FROM (SELECT column1,column2,...,ROW_NUMBER() OVER (ORDER BY column) AS row_num FROM table_name) AS sub_query WHERE row_num BETWEEN start_index AND end_index; 这个语法将ROW_NUMBER()函数的结果作为子查询,然后通过使用WHERE子句来过滤指定行号范围的结果集。 总之,ROW_NUMBER()函数是在查询结果集中为每一行分配一个唯一的行号,可以根据需要使用ORDER BY和PARTITION BY子句进行排序和分区。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值