sql >> Databáze >  >> RDS >> Mysql

Jak vytvořím generátor řádků v MySQL?

Nerad to říkám, ale MySQL je jediný RDBMS z velké čtyřky, která tuto funkci nemá.

V Oracle :

SELECT  *
FROM    dual
CONNECT BY
        level < n

V MS SQL (až 100 řádky):

WITH hier(row) AS
        (
        SELECT  1
        UNION ALL
        SELECT  row + 1
        FROM    hier
        WHERE   row < n
        )
SELECT  *
FROM    hier

nebo pomocí nápovědy až do 32768

WITH hier(row) AS
        (
        SELECT  1
        UNION ALL
        SELECT  row + 1
        FROM    hier
        WHERE   row < 32768
        )
SELECT  *
FROM    hier
OPTION (MAXRECURSION 32767) -- 32767 is the maximum value of the hint

V PostgreSQL :

SELECT  *
FROM    generate_series (1, n)

V MySQL , nic.



  1. Funkce CHARTOROWID() v Oracle

  2. Jak převést řetězec na Hex a naopak?

  3. Jak vyloučit záznamy s určitými hodnotami v sql select

  4. Jak dělat modelování dědičnosti v relačních databázích?