随机抽取n个记录的SQL(mysql和sqlserver)
2005-07-17 19:47
671 查看
随机抽取n个记录的SQL(mysql和sqlserver)
mysql: select * from tablename order by rand() limit 10sqlserver: select top 10 * from tablename order by NEWID()
在符合条件的数据中的,从第5条开始提出后面10条数据mysql: select * from table limit 5,10sqlserver: SELECT TOP 10 *FROM table WHERE (IDENTITYCOL NOT IN(SELECT TOP 5 IDENTITYCOLFROM table order by IDENTITYCOL))order by IDENTITYCOL
或:select *,IDENTITY(int,1,1) as Num into ##aa from tablenameselect * from ##aa where Num >=5 and Num <=10
注:
IDENTITYCOL 返回标识列。有关更多信息,请参见 IDENTITY(属性)、ALTER TABLE 和 CREATE TABLE。 如果 FROM 子句中的多个表内有包含 IDENTITY 属性的列,则必须用特定的表名(如 T1.IDENTITYCOL)限定 IDENTITYCOL。
ROWGUIDCOL 返回行全局唯一标识列。 如果在 FROM 子句中有多个表具有 ROWGUIDCOL 属性,则必须用特定的表名(如 T1.ROWGUIDCOL)限定 ROWGUIDCOL。
mysql: select * from tablename order by rand() limit 10sqlserver: select top 10 * from tablename order by NEWID()
在符合条件的数据中的,从第5条开始提出后面10条数据mysql: select * from table limit 5,10sqlserver: SELECT TOP 10 *FROM table WHERE (IDENTITYCOL NOT IN(SELECT TOP 5 IDENTITYCOLFROM table order by IDENTITYCOL))order by IDENTITYCOL
或:select *,IDENTITY(int,1,1) as Num into ##aa from tablenameselect * from ##aa where Num >=5 and Num <=10
注:
IDENTITYCOL 返回标识列。有关更多信息,请参见 IDENTITY(属性)、ALTER TABLE 和 CREATE TABLE。 如果 FROM 子句中的多个表内有包含 IDENTITY 属性的列,则必须用特定的表名(如 T1.IDENTITYCOL)限定 IDENTITYCOL。
ROWGUIDCOL 返回行全局唯一标识列。 如果在 FROM 子句中有多个表具有 ROWGUIDCOL 属性,则必须用特定的表名(如 T1.ROWGUIDCOL)限定 ROWGUIDCOL。
相关文章推荐
- random抽取n个记录的SQL(mysql和sqlserver),SQL的随机数
- sql随机抽取记录
- 在MySQL中用SQL语句取随机记录
- Oracle从表中随机抽取记录[sql]
- sql随机抽取记录
- sql获取随机记录(MYSQL,ACCESS,ORACLE,SQL Server)
- 随机抽取n个记录的SQL
- sql随机抽取记录
- sql随机抽取记录
- 创建角色随机名字(mysql抽取随机记录)和mysql游标的使用
- sql语句之随机查询记录和批量插入--基于mysql
- 从数据库中随机抽取一条记录的SQL语句
- SQL怎样随机抽取记录
- 随机抽取n个记录的SQL
- 从数据库中随机抽取一条记录的SQL语句
- sql随机抽取数据库记录
- 利用sql语句随机抽取记录
- oracle,mysql,sqlserver,db2取前十条记录sql语句
- sql随机抽取数据库记录
- 【sql】随机获取Mysql数据表的一条或多条记录