SQL查询显示行号、随机查询、取指定行数据

1、显示行号

如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL Server2005中,使用ROW_NUMBER()非常方便。

select row_number() over (order by UseriD) as rowNum,* from UserInfo 

查询结果:

2011040911535122.png

2、随机查询

有的时候我们需要查询出的数据是随机排序的,newid()函数在扫描每条记录时会生成一个随机值,这个随机数没有大小写顺序,因此根据这个数排序,就可以将数据进行随机排序。

select *,newid() random from UserInfo order by random

查询结果:

2011040912024416.png

3、取指定行数据

我们这里需要的不是主键编号在某一取值范围内的数据,而是行号在指定范围内,还是上面的Row_Number()函数。

select * from (select row_number() over (order by UseriD) as rowNum,* from UserInfo) as t where rowNum between 10 and 20

这样我们就取出10到20行共11行的数据了。

2011040912124159.png

转载于:https://www.cnblogs.com/walkingp/archive/2011/04/09/2010265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值