随机抽取n个记录的SQL
2004-07-21 08:58
585 查看
随机抽取n个记录的SQL(mysql和sqlserver)
mysql: select * from tablename order by rand() limit 10
sqlserver: select top 10 * from tablename order by NEWID()
在符合条件的数据中的,从第5条开始提出后面10条数据
mysql: select * from table limit 5,10
sqlserver: SELECT TOP 10 *
FROM table WHERE (IDENTITYCOL NOT IN
(SELECT TOP 5 IDENTITYCOL
FROM table order by IDENTITYCOL))
order by IDENTITYCOL
或:
select *,IDENTITY(int,1,1) as Num into ##aa from tablename
select * 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 10
sqlserver: select top 10 * from tablename order by NEWID()
在符合条件的数据中的,从第5条开始提出后面10条数据
mysql: select * from table limit 5,10
sqlserver: SELECT TOP 10 *
FROM table WHERE (IDENTITYCOL NOT IN
(SELECT TOP 5 IDENTITYCOL
FROM table order by IDENTITYCOL))
order by IDENTITYCOL
或:
select *,IDENTITY(int,1,1) as Num into ##aa from tablename
select * 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。
相关文章推荐
- SQL Server 语句操纵数据库
- MySql实现简单的注册登录(易语言)
- 在php和MySql中计算时间差的方法详解
- c#接简单数据库操作类
- log4j使用示例
- 如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能
- 我的php的一个数据库的操纵类
- 如何使用DELPHI和要SQL SERVER数据库连接
- 获取系统当前打开的端口(tcp。udp)状态,以及连接方的ip。端口
- 分頁控制
- 设置表格奇偶行不同颜色,鼠标划过变色的javascript代码
- 什么是中间件
- 怎样在自己的进销存里导入速达、管家婆和用友的数据
- SYBASE 数据库迁移到AS 400 db2的FAQ(三)
- SYBASE 数据库迁移到AS 400 db2的FAQ(五)
- SYBASE 数据库迁移到AS 400 db2的FAQ(四)
- 存储过程实现BBS树形结构
- 在Dephi中使用TStream读写数据的技巧
- Microsoft SQL Server 7.0储存过程调试指南