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.
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
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
SELECT column FROM table
ORDER BY RANDOM() LIMIT 1