我使用的是 MSSQL Server 2005。在我的数据库中,我有一个表“customerNames”,它有两列“Id”和“Name”,大约 1,000 个结果。
我正在创建一个功能,每次我必须随机选择 5 个客户。谁能告诉我如何创建一个查询,每次执行查询时都会随机获得 5 行(ID 和名称)?
SELECT TOP 5 Id, Name FROM customerNames ORDER BY NEWID()
就是说,似乎每个人都来到此页面以获得对您问题的更一般的答案:
SELECT column FROM table ORDER BY RAND() LIMIT 1
SELECT column FROM table ORDER BY RANDOM() LIMIT 1
SELECT TOP 1 column FROM table ORDER BY NEWID()
SELECT column, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY
SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1