CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

求:从指定表中随机选取若干条记录的SQL语句。

楼主cqthinker(哈儿)2005-04-04 09:37:24 在 MS-SQL Server / 基础类 提问

e.g  
  有一表,表名:dataTable(内有500条记录)  
  用户想从中随机选取20条记录。  
  SQL怎么写? 问题点数:20、回复次数:6Top

1 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-04 09:44:29 得分 15

select   Top   20   *   form   dataTable   order   by   newid()Top

2 楼cqthinker(哈儿)回复于 2005-04-04 09:47:38 得分 0

注意是随机!!!Top

3 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-04 09:56:03 得分 0

你试下,这就是随机   啊!!!Top

4 楼fei780511(飞)回复于 2005-04-04 09:56:13 得分 5

建立临时表,结构和datatable一样,随机数,最大值500,  
  select   Top   随机数   *   form   dataTable   order   by   newid()     desc  
  将第一条插入临时表,重新设置随机数  
  如此循环20次,最后select   *   from   临时表  
   
  方法苯一点,速度慢一点,但可以实现,如果应用存储过程,速度会好一点。  
   
  Top

5 楼cqthinker(哈儿)回复于 2005-04-04 10:40:19 得分 0

行了,谢谢。。  
  20分,给Top

6 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-04 10:43:32 得分 0

居然写错了一点,改一下。  
   
  Select   Top   20   *   from   dataTable   Order   By   NEWID()  
   
   
  再给你介绍一下NEWID()  
   
   
   
  Sql   Server:理解uniqueidentifier类型和NEWID()      
     
  uniqueidentifier是全局唯一标识符   (GUID)  
  NEWID()返回类型为uniqueidentifier  
  SQL   SERVER联机帮助中的例子:  
  declare   @myid   uniqueidentifier  
  set   @myid=newid()  
  print   'Value   of   @myid   is   '+cast(@myid   as   varchar(255))  
  每次运行以上程序返回不同的uniqueidentifier  
   
  --------------------------------------------------------------------------------  
  NEWID()另外一个应用是在Select出记录时随即选出N条记录  
  比如:Select     top   5   *   from   yourtable   order   by   newid()  
  这样就能从yourtable表中每次随机地选出5条记录,这对于随机显示新闻的地方比较有用    
  Top

相关问题

  • SQL语句如何写 选取Date型字段 在俩个指定的日期之间的所有记录。
  • 按指定条件显示SQL语句
  • 关于选取10个最高数量的sql语句
  • sql语句查找指定条数记录
  • 如何用SQL语句取出指定数量的纪录?
  • 如何使SQL语句到指定的时间才执行?
  • 怎样提取指定字符串?(T-SQL语句)
  • SQL语句指定ID自动增长1怎么写??
  • 求SQL表对表复制指定列的语句
  • 如果获得对指定数据库操作的sql 语句?

关键词

  • top
  • newid
  • 记录
  • 表
  • myid
  • 随机数
  • uniqueidentifier
  • datatable
  • 临时
  • order

得分解答快速导航

  • 帖主:cqthinker
  • paoluo
  • fei780511

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo