我正在使用 MSSQL Server 2005。在我的数据库中,我有一个表“customerNames”,它有两列“Id”和“Name”以及大约。 1,000 个结果。
我正在创建一项功能,每次我都必须随机挑选 5 位客户。谁能告诉我如何创建一个每次执行查询时都会随机获取 5 行(Id 和 Name)的查询?
最佳答案
SELECT TOP 5 Id, Name FROM customerNames
ORDER BY NEWID()
也就是说,似乎每个人都来到此页面是为了对您的问题进行更笼统的回答:
Selecting a random row in SQL
用 MySQL 选择一个随机行:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
使用 PostgreSQL 选择随机行:
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
使用 Microsoft SQL Server 选择随机行:
SELECT TOP 1 column FROM table
ORDER BY NEWID()
使用 IBM DB2 选择随机行
SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
用 Oracle 选择一条随机记录:
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
使用 sqlite 选择一个随机行:
SELECT column FROM table
ORDER BY RANDOM() LIMIT 1
关于sql - SQL中如何随机选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/580639/