Мне было довольно сложно достичь диапазона чисел в виде строк MySQL
.
Например, диапазон 1-5 достигается путем:
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
UNION
SELECT 5
приведет к:
1 2 3 4 5
для 0-99 я могу соединить две таблицы 0-9:
CREATE TABLE nums as
SELECT 0 as num
UNION
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
UNION
SELECT 5
UNION
SELECT 6
UNION
SELECT 7
UNION
SELECT 8
UNION
SELECT 9
;
Select n.num*10+nums.num v
From nums n cross join nums
Я устал писать все это UNION
и искать способ уменьшить код.
Любые идеи, как играть в гольф (например, диапазон 0-1 000 000) в MySQL или любой синтаксис SQL?
Дополнительные баллы начисляются за:
- одно заявление
- нет процедур
- без переменных
- нет заявлений DDL
- только операторы DQL
generate_series()
. У нас есть несколько примеров использования здесь.