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

原创 2012年03月22日 12:30:32

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


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

查询结果:

2、随机查询

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

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

查询结果:

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行的数据了。

相关文章推荐

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

1、显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL S...

SQL分别查询表奇偶行(无行号,表结构不修改)

需求有一张表,表内容如下所示:注意点: ①如上所示,表中没有标识关于行号的字段,比如id神马的 ②不准修改表结构,比如使用alter语句思路查了一些资料,发现具体的思路大概是,自行生成自增的行号列...

行名行号查询

  • 2012年12月01日 13:45
  • 4.44MB
  • 下载

从Mysql某一表中随机读取n条数据的SQL查询语句

若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机...

行名行号查询2011.08管理员版

  • 2011年09月26日 23:33
  • 4.64MB
  • 下载

sql随机查询数据

初中学历 + 记忆力差的我只能去点点滴滴的记录着开发中遇到的问题!.
  • XPY567
  • XPY567
  • 2016年05月11日 22:05
  • 250

mysql 行号查询及分页

在开发过程中,需要对mysql数据库进行多表级联查询,其中为了提高分页查询性能,用到了mysql中查询行号。...

MySQL中在查询结果集中得到记录行号的方法

如果需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号, ISO SQL:2003 标准提出的方法是提供 ROW_NUMBER() / RANK() 函数。 Oracle 中可以使用标准...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL查询显示行号、随机查询、取指定行数据
举报原因:
原因补充:

(最多只允许输入30个字)