Sample Random Rows From A Table

Create Table Of Superheroes

-- Create a table called SUPERHEROES.
CREATE OR REPLACE TABLE SUPERHEROES (
  -- Column called ALTER_EGO allowing up to 100 characters
  "ALTER_EGO" VARCHAR(100),
  -- Column called BANK_BALANCE allowing 38 digits with 2 after the decimal point
  "AGE" NUMBER(3, 0)
);

Insert Rows For Each Superhero

-- Insert rows into SUPERHEROES
INSERT INTO SUPERHEROES 
    -- With the values
    VALUES
    ('The Bomber', '24'),
    ('Mr. Money', '12'),
    ('Nuke Miner', '59'),
    ('The Knife', '43'),
    ('Ninka Baker', '32'),
    ('Banana Bomber', '34'),
    ('Augustine', '12'),
    ('The Kid', '21'),
    ('The Viking', '291'),
    ('Skull Hustle', '10');

Sample Where Reach Row Has Chance Of Inclusion

-- Select all columns
SELECT *
-- From the SUPERHEROES table
FROM SUPERHEROES
-- Sample a subset of rows, where each row has a 25% chance of being selected
SAMPLE ROW (25);
ALTER_EGO AGE
The Bomber 24
Nuke Miner 59

Sample Where N Rows Are Desired

-- Select all columns
SELECT *
-- From the SUPERHEROES table
FROM SUPERHEROES
-- Sample a subset of 3 rows
SAMPLE ROW (3 rows);
ALTER_EGO AGE
Augustine 12
Mr. Money 12
Ninka Baker 32

Sample With A Need

Seeds improve repeatability, when rerun on the same data, samples using the same need value (e.g. 44) will return the same rows.

-- Select all columns
SELECT *
-- From the SUPERHEROES table
FROM SUPERHEROES
-- Sample a subset of rows, where each row has a 25% chance of being selected with a seed of 99
SAMPLE ROW (25) SEED (99);
ALTER_EGO AGE
The Knife 43