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;
posted @ 2021-12-16 11:08  日落西风又在吹  阅读(1553)  评论(0编辑  收藏  举报