MySQL查询生成行号

Oracle中可以使用ROWNUM,MYSQL无该关键词,需要使用以下形式:

SELECT @rowNum:=@rowNum + 1 AS '行号',
a.X1,
a.X2,
a.X3,
a.X4,
a.X5,
a.X6,
-1,
a.X7,
-1,
A.X8,
'0',
NULL
FROM xxxx a,(SELECT @rowNum:=0) b;

MYSQL 8.0后可以使用,以下形式:

SELECT
SELECT ROW_NUMBER() OVER(PARTITION BY a.X1) AS '行号',
a.X1,
a.X2,
a.X3,
a.X4,
a.X5,
a.X6,
-1,
a.X7,
-1,
A.X8,
'0',
NULL
FROM xxxx a;
学习是永无止境的。
原文地址:https://www.cnblogs.com/SimpleWu/p/15696968.html