| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1197 人关注过本帖
标题:怎么随机选择出一条记录?其中没有可以排序的列数!!
只看楼主 加入收藏
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
结帖率:100%
收藏
 问题点数:0 回复次数:6 
怎么随机选择出一条记录?其中没有可以排序的列数!!
如题,想了很久也不知道怎么弄,请教各位高手了!!
搜索更多相关主题的帖子: 随机 记录 选择 
2008-05-13 23:37
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
1.前台处理
  读取所有的记录--->生成随机移动量--->移动数据
2.数据库端处理
  DECLARE @intMove as int
  DECLARE @intMax as int
  DECLARE @strSQL as Varchar(800)
  ----获得记录的最大数值,控制生成的随机数范围
  SELECT @intMax=Count(*) FROM #ls1
  ----生成随机数,防止生成的随机数字在后续计算时可能产生无效的数据
  SELECT @intMove=CASE WHEN @intMax * Rand()=0 THEN 0 ELSE @intMax * Rand() - 1 END
  ----获得随机数据
  SET @strSQL='SELECT TOP 1 * FROM #ls1 WHERE F1 NOT IN (SELECT TOP ' +  CAST(@intMove-1 AS VARCHAR(10)) + ' F1 FROM #ls1)'
  EXECUTE(@strSQL)

[[it] 本帖最后由 happynight 于 2008-5-14 10:19 编辑 [/it]]
2008-05-14 09:51
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
这个破论坛是怎么回事,回两篇帖子,都写了大段东西,一发表就挂,让我不得不重写
2008-05-14 09:53
wyl918
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-2-7
收藏
得分:0 
你的问题其实和网上考试中的随机出题一样
可以参考下面的帖子:
[url]http://wyl918.blog.[/url]
2008-05-27 09:08
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
[bo][un]wyl918[/un] 在 2008-5-27 09:08 的发言:[/bo]

可以参考下面的帖子:
[url]http://wyl918.blog.[/url]

学习了
2008-05-27 09:47
begonia
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-7-13
收藏
得分:0 
select * from table order by newid()
2008-05-28 18:44
快速回复:怎么随机选择出一条记录?其中没有可以排序的列数!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021032 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved