• + 0 comments

    WITH RECURSIVE numbers AS ( SELECT 2 AS n UNION ALL SELECT n + 1 FROM numbers WHERE n <= 1000 ), divisors AS ( SELECT n.n AS num, d.n AS di FROM numbers n JOIN numbers d ON d.n <= FLOOR(SQRT(n.n)) ), non_primes AS ( SELECT DISTINCT num FROM divisors WHERE num % di = 0 ), primes AS ( SELECT n.n AS prime FROM numbers n WHERE n.n NOT IN (SELECT num FROM non_primes) ) SELECT GROUP_CONCAT(prime ORDER BY prime SEPARATOR '&') AS prime_list FROM primes;