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

swi*_*ter 5 php mysql sql

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

我到处寻找,我找不到任何这方面的例子.

以下内容的效果:

SELECT *, ROW_NUMBER() as row_number from my_awesome_table;
Run Code Online (Sandbox Code Playgroud)

这应该生成这样的东西:

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 
Run Code Online (Sandbox Code Playgroud)

请注意,some_column和some_other_column是my_awesome_table中的实际现有列,而row_number仅在此查询中即时生成.

谢谢!猪

sha*_*mar 5

您需要使用MySQL 用户变量。让我们取一个变量t1。在 处初始化它0。并在每个选择值中增加它。

SET @t1=0;
SELECT @t1 := @t1+1 as row_number, my_awesome_table.* from my_awesome_table
Run Code Online (Sandbox Code Playgroud)

这将解决问题。