Как отобразить от 1 до 100 чисел с помощью запроса - PullRequest
0 голосов
/ 08 мая 2020

Я хочу написать запрос для печати чисел от 1 до 100 в MySQL и не могу найти никакого решения. Я пробовал несколько вещей

with CTE as  
(  
 select 1 Number  
 union all  
 select Number +1 from CTE where Number<100  
)  

select *from CTE  

Но не думаю, что это работает в MySQL

1 Ответ

2 голосов
/ 08 мая 2020

Если вы используете MySQL 8+, то ваш текущий синтаксис не за горами и может даже работать:

WITH RECURSIVE cte (Number) AS (
    SELECT 1            -- base case returns 1
    UNION ALL
    SELECT Number + 1   -- recursive case returns 1 + previous value
    FROM cte
    WHERE Number < 100
)

SELECT Number
FROM cte
ORDER BY Number;

Рекурсивные CTE работают, имея базовый случай, который засевает один или несколько значений, а также рекурсивный регистр, который является повторением предыдущих значений.

...