求一SQL 语句 小弟菜鸟 高手帮帮忙!!!

沐逸_Rock 2011-08-18 05:13:11
假如一张表中有N条数据,从其中随机取出20条数据,而且取出的时候必须是单个取出,Sql语句该怎么写,求高手帮忙,小弟不胜感激!!!
...全文
142 点赞 收藏 22
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
沐逸_Rock 2011-08-22
[Quote=引用 21 楼 zzhqiao 的回复:]
SQL code

select top 20 *
from tb
order by newid()
这样取就不会有重复的
[/Quote]
这样我知道,但是你这是随机并且一次性取出了20条记录,我的要求是:随机性,20条记录,单个取出 呵呵、谢谢
回复
zzhqiao 2011-08-22

select top 20 *
from tb
order by newid()
这样取就不会有重复的
回复
沐逸_Rock 2011-08-19
[Quote=引用 19 楼 cf_nxcxy 的回复:]
用while循环
循环20次
[/Quote]

那帮忙给写出来噻
回复
cf_nxcxy 2011-08-19
用while循环
循环20次
回复
沐逸_Rock 2011-08-19
[Quote=引用 16 楼 yuchor 的回复:]
引用 14 楼 geniuswjt 的回复:
随机20次union all起来?

+1
楼主为什么要单一抽取呢?
[/Quote]

需求需求 呵呵、、求高手帮忙!!!
回复
沐逸_Rock 2011-08-19
[Quote=引用 8 楼 nhudailiming 的回复:]
还要不重复是吧
[/Quote]

重复没事 只是保证随机单个取出数据 总共取出20条就OK
回复
晓蛋 2011-08-19
[Quote=引用 14 楼 geniuswjt 的回复:]
随机20次union all起来?
[/Quote]
+1
楼主为什么要单一抽取呢?
回复
沐逸_Rock 2011-08-19
[Quote=引用 9 楼 gll062 的回复:]
SQL code
SELECT DISTINCT TOP 20 NEWID(), * FROM Clothes c (NOLOCK)
ORDER BY NEWID();
[/Quote]

好像还是不行,你这个跟这条语句差不多select distinct top 20 * from table1 order by newid();
回复
geniuswjt 2011-08-19
随机20次union all起来?
回复
沐逸_Rock 2011-08-19
[Quote=引用 10 楼 szstephenzhou 的回复:]
SQL code
select distinct top 20 * from table1 order by newid();
[/Quote]

这条语句我也会 ,这能随机取出20条数据 但是不能保证单个取出
回复
沐逸_Rock 2011-08-19
[Quote=引用 11 楼 fredrickhu 的回复:]
那就是随机生成20条记录吧
[/Quote]

是的 ,但是必须保证单个取出 总共20条记录
回复
--小F-- 2011-08-18
那就是随机生成20条记录吧
回复
勿勿 2011-08-18
select distinct top 20 * from table1 order by newid();
回复
gll062 2011-08-18
SELECT DISTINCT TOP 20 NEWID(), * FROM Clothes c (NOLOCK)
ORDER BY NEWID();
回复
nhudailiming 2011-08-18
还要不重复是吧
回复
沐逸_Rock 2011-08-18
[Quote=引用 5 楼 acherat 的回复:]
单个取出是什么意思呢?
[/Quote]
就是二十条数据必须一条一条的取出,如果随机同时取出的话我自己会:select top 20 * from 表名 order by newid() 就OK了 问题是非同时取出 而是单个取出
回复
沐逸_Rock 2011-08-18
[Quote=引用 1 楼 acherat 的回复:]
SQL code

select distinct top 20 *
from tb
order by newid()
[/Quote]

好像不行啊,如果指定了 select distinct,那么 order by 子句中的项就必须出现在选择列表中
回复
AcHerat 2011-08-18
单个取出是什么意思呢?
回复
沐逸_Rock 2011-08-18
好像不行啊,如果指定了 select distinct,那么 order by 子句中的项就必须出现在选择列表中。[Quote=引用楼主 rock_chen996 的回复:]
假如一张表中有N条数据,从其中随机取出20条数据,而且取出的时候必须是单个取出,Sql语句该怎么写,求高手帮忙,小弟不胜感激!!!
[/Quote]
回复
沐逸_Rock 2011-08-18
是的 单个取出,总共20条 必须是随机的
回复
加载更多回复
相关推荐
发帖
新技术前沿
创建于2007-09-28

6126

社区成员

MS-SQL Server 新技术前沿
申请成为版主
帖子事件
创建了帖子
2011-08-18 05:13
社区公告
暂无公告