mysql 查询打印 1 到 10 是什么?

Roh*_*hit 0 mysql

我知道有 sql 查询可以打印从 1 到 10 的计数,如下所示:

select rownum from dual where rownum<=10;
Run Code Online (Sandbox Code Playgroud)

以同样的方式,我在 mysql 中尝试,但它抛出错误“字段列表中的未知列 rownum”。因此,如果有人向我提供 mysql 查询来执行相同的操作,那就太好了。提前致谢。

Nic*_*ick 6

在 MySQL 8+ 中,您可以使用递归 CTE 来执行此操作:

WITH RECURSIVE cte AS (
    SELECT 1 AS n
    UNION ALL
    SELECT n + 1 FROM cte WHERE n < 10
)
SELECT n FROM cte
Run Code Online (Sandbox Code Playgroud)

输出:

n
1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

dbfiddle 上的演示