我试图用我的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仅在此查询中即时生成.
谢谢!
猪
最佳答案
你需要使用MySQL user variables.让我们取一个变量t1.将其初始化为0.并在每个选择值中递增它.
SET @t1=0;
SELECT @t1 := @t1+1 as row_number,my_awesome_table.* from my_awesome_table
这样就可以了.