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

沐逸_Rock 2011-08-18 05:13:11
假如一张表中有N条数据,从其中随机取出20条数据,而且取出的时候必须是单个取出,Sql语句该怎么写,求高手帮忙,小弟不胜感激!!!
...全文
183 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
沐逸_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条 必须是随机的
加载更多回复(2)

6,128

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧