小编典典

将编号列表列添加到返回的MySQL查询中

sql

我试图获取随我的sql查询返回的序列号列。我需要将它放在SELECT语句中,因为我想将此查询嵌套在另一个查询中,然后将之前生成的列用于进一步的计算。

我到处都看过,找不到任何示例。

具有以下效果的东西:

SELECT *, ROW_NUMBER() as row_number from my_awesome_table;

这应该生成如下内容:

row_number some_column some_other_column
---------- ----------- -----------------
    1        bla bla      bla bla bla 
    2        bla bla      bla bla bla 
    3        bla bla      bla bla bla 
    4        bla bla      bla bla bla

请注意,some_column和some_other_column是my_awesome_table中实际存在的列,而row_number仅针对此查询即时生成。

谢谢!猪


阅读 219

收藏
2021-03-23

共1个答案

小编典典

您需要使用MySQL用户变量。让我们考虑一个变量t1。在初始化它0。并在每个选择值中将其递增。

SET @t1=0;
SELECT @t1 := @t1+1 as row_number, my_awesome_table.* from my_awesome_table

这将达到目的。

2021-03-23