Select a random sample of rows in Snowflake
Learn how to select a sample of rows randomly from a table or view in Snowflake.
1. What is the sample function in Snowflake?
2. Sample a percentage of rows
3. Sample a fixed number of rows
What is the sample function in Snowflake?
The sample
function in Snowflake allows you to select either a fixed number or a certain percentage of rows in a table or view.
The syntax for the function is:
select * from table sample ...
What is the difference between sample and tablesample?
There are two functions in Snowflake that can be used to sample rows, they are sample
and tablesample
. They can be used interchangeably, but in this tutorial, we will be using the more commonly used sample
.
Sample a percentage of rows
There are two main use cases for using the sample
function, the first we will look at is when you want to sample a percentage of rows randomly from a table or view.
The syntax for returning a percentage of rows is:
select * from table sample (x);
Where x
is the percentage you want to return, represented by an integer or float between 0 (no rows) and 100 (all rows).
Let's look at an example where you want to return 10.5% of the rows in your table. The query for this would be:
select * from table sample (10.5);
Sample a fixed number of rows
Another common use case for using sample
is to return a fixed number of rows randomly.
The syntax for doing this is:
select * from table sample (x rows);
Where x
is the number of rows you want to return, represented by an integer between 0 and 1,000,000.
x/num_rows
probability of being included in the sample.Therefore, if you wanted to return 150 rows from your table, this would be the query:
select * from table sample (150 rows)
Summary of how to use the sample function
To summarise what we covered in this tutorial:
Sample a percentage of rows
select * from table sample (x);
Sample a fixed number of rows
select * from table sample (x rows);
Related articles
Transformation functions
coalesce function
replace function
listagg function
concat function
substring function
ifnull function