如何从mssql随机取出一条记录,看似很简单的问题

 我来答
呆萌小咖77
2016-11-09 · TA获得超过797个赞
知道小有建树答主
回答量:813
采纳率:96%
帮助的人:152万
展开全部
项目中客户要求随机取一个电衫袜码话号码用来外呼,就试出这么或哪个方法:
select top 1 * from 表名 order by newid()
重点在于newid()生产随机值,取多条则改成具体数量即可。

呵呵,原因是NEWID()为表是的每一行数据在内存里生成一个GUID。而因为GUID的值唯一而很随机,这样的话按GUID排序取出来的数据相对的也很随机。
除了能随机的取出一条数据,你还可以:

-- 随机取出表上的任好州意条数据,例如100
SELECT TOP 100 *
FROM Table1
ORDER BY NEWID()

-- 随机取出表上的10%的数据
SELECT TOP 10 PERCENT *
FROM Table1
ORDER BY NEWID()
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一颗程序猿o_0
2016-11-09 · TA获得超过6297个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1336万
展开全部
SELECT TOP(1) * FROM [表名] ORDER BY newid()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仙炫菇漫L
2016-11-09 · TA获得超过197个赞
知道答主
回答量:40
采纳率:50%
帮助的人:29.1万
展开全部
select top 1 * from 表名 order by newid()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式