标题:怎么随机选择出一条记录?其中没有可以排序的列数!!
只看楼主
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-214183-1-1.html




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

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