Fetching Random Rows From SQL Se

Tip: Fetching Random Rows From SQL Server

Recently I needed to fetch random rows from a SQL server table. If you have an integer column then using RAND() function goes well. However in my case there was no number column. In such cases you can use the following query:

SELECT TOP <n> <column list> 
FROM <table> 
WHERE <criteria> 
ORDER BY NEWID()

The key is the use of NEWID() function that returns a GUID. An example query would look something like this:

SELECT TOP 10 * 
FROM Employees
ORDER BY NEWID()

This way is also useful for selecting data for testing purposes.


Bipin Joshi is an independent software consultant, trainer, author, and meditation teacher. He has been programming, meditating, and teaching for 25+ years. He conducts instructor-led online training courses in ASP.NET family of technologies for individuals and small groups. He is a published author and has authored or co-authored books for Apress and Wrox press. Having embraced the Yoga way of life he also teaches Ajapa Yoga to interested individuals. To know more about him click here.

Get connected : Facebook  Twitter  LinkedIn  YouTube

Posted On : 23 July 2008


Tags : ADO.NET Data Access SQL Server