如何在SQL中随机选择行? [英] How to randomly select rows in SQL?

查看:288
本文介绍了如何在SQL中随机选择行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用MSSQL Server 2005.在我的db,我有一个表customerNames,有两列Id和名称和约。 1,000个结果。

I am using MSSQL Server 2005. In my db, I have a table "customerNames" which has two columns "Id" and "Name" and approx. 1,000 results.

我创建了一个功能,我必须随机选择5个客户。任何人都可以告诉我如何创建一个查询,每次执行查询时都会得到随机的5行(Id和Name)。

I am creating a functionality where I have to pick 5 customers randomly every time. Can anyone tell me how to create a query which will get random 5 rows (Id, and Name) every time when query is executed?

推荐答案

SELECT TOP 5 Id, Name FROM customerNames
ORDER BY NEWID()

也就是说,每个人似乎都来到这个页面来获得更一般的答案:

That said, everybody seems to come to this page for the more general answer to your question:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1



使用PostgreSQL选择一个随机行:



Select a random row with PostgreSQL:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1



< h3>使用Microsoft SQL Server选择一个随机行:

Select a random row with Microsoft SQL Server:

SELECT TOP 1 column FROM table
ORDER BY NEWID()



使用IBM DB2选择随机行



Select a random row with IBM DB2

SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY



使用Oracle选择随机记录:



Select a random record with Oracle:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1



使用sqlite选择一个随机行:



Select a random row with sqlite:

SELECT column FROM table 
ORDER BY RANDOM() LIMIT 1

这篇关于如何在SQL中随机选择行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆