

例えば  
f(x) = x * x (x = 1..10)  
の表を作りたいときに 1...10 の部分をどうやって作ればいいんでしょうか

[code]

    CREATE TEMPORARY TABLE x (
      x bigint(20)
    );
    
    INSERT x VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
    
    SELECT x, x * x FROM x
    
[/code]

こんな感じでテーブルを作るしかないんでしょうか

[code]

    SELECT x, x * x FROM 
    VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)
    
[/code]

みたいな書き方はできませんか？

補足：  
MySQL 5.7 です


CC BY-SA 4.0
2019-12-06T03:27:21.413
61160
2019-12-09T03:38:54.180
2019-12-09T03:38:54.180
question
mysql
固定値配列をテーブルとして扱う方法


MySQL 8.0 だとこんな風に書けたりします。

[code]

    WITH RECURSIVE t AS (
      SELECT 1 AS x, 1 AS xx UNION ALL SELECT x+1, (x+1)*(x+1) FROM t WHERE x<10
    )
    SELECT * FROM t;
    +------+------+
    | x    | xx   |
    +------+------+
    |    1 |    1 |
    |    2 |    4 |
    |    3 |    9 |
    |    4 |   16 |
    |    5 |   25 |
    |    6 |   36 |
    |    7 |   49 |
    |    8 |   64 |
    |    9 |   81 |
    |   10 |  100 |
    +------+------+
    
[/code]


CC BY-SA 4.0
2019-12-07T13:22:52.823
61220
2019-12-07T13:22:52.823
3249
61160
answer