Skip to content

Instantly share code, notes, and snippets.

@matejskubic
Created July 24, 2025 19:10
Show Gist options
  • Save matejskubic/282e58f80e2697e07bf58ac6adbb7508 to your computer and use it in GitHub Desktop.
Save matejskubic/282e58f80e2697e07bf58ac6adbb7508 to your computer and use it in GitHub Desktop.
SQL generationg many sequential random rows
-- Generate 4M rows using Ben-Gan style with 8-row seed
WITH E1(N) AS (
SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1
UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 -- 8-row seed
),
E2(N) AS (SELECT 1 FROM E1 AS a CROSS JOIN E1 AS b), -- 64 rows (8 × 8)
E4(N) AS (SELECT 1 FROM E2 AS a CROSS JOIN E2 AS b), -- 4k rows (64 × 64)
E8(N) AS (SELECT 1 FROM E4 AS a CROSS JOIN E4 AS b), -- 16M rows (4k x 4k)
Numbers AS (SELECT TOP (4000000) ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS n FROM E8)
SELECT
'Group ' + CAST((n - 1) / 9 + 1 AS VARCHAR(10)) AS G,
'Line ' + CAST((n - 1) % 9 + 1 AS VARCHAR(10)) AS Line,
n AS RowId,
NEWID() AS GuidCol1,
NEWID() AS GuidCol2
FROM Numbers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment