cancel
Showing results for 
Search instead for 
Did you mean: 

Select random rows

Former Member
0 Kudos

Is there some way to select a specified number of random rows from a table?

Something lieke on SQLServer?

SELECT TOP 10 PERCENT *
  FROM Table1
  ORDER BY NEWID()
lbreddemann
Active Contributor
0 Kudos

Please check the documentation before posting a question.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

See also TABLESAMPLE option in SELECT from SAP HANA SQL and System Views Reference:

<tablesample_clause>

Applies the SELECT statement to a random sample of the table data.

<tablesample_clause> ::=
 TABLESAMPLE [BERNOULLI | SYSTEM] (<sample_size>)

<sample_size> ::= <exact_numeric_literal>

<sample_size> specifies the percentage of the table to be returned as a sample.

Values must be greater than 0 and less than or equal to 100. (100 returns the complete table). The goal of the TABLESAMPLE operator is to allow queries to be executed over ad-hoc random samples of tables. Samples are computed uniformly over rows in a columnar base table. Samples can either be uniform random samples (SYSTEM sampling) or uniform and independent random samples (BERNOULLI sampling). SYSTEM sampling exploits the lack of the independence requirement by sampling blocks of rows at a time, while SYSTEM sampling offers performance advantages over BERNOULLI sampling, it comes at the cost of larger variance in sample size.

lbreddemann
Active Contributor
0 Kudos

While this answer is correct please refrain from copying the documentation and rather link to it.

Answers (1)

Answers (1)

Former Member
SELECT * FROM Table1 ORDER BY RAND() LIMIT 10;
Former Member
0 Kudos

Is there also an option with percent?