使用mysql,我可以使用自动增量值生成一列

时间:2011-09-18 19:37:13

标签: mysql

  

可能重复:
  MySql Row Number?

我想对查询的结果进行编号。我可以用mysql做到吗?

假设我有以下查询

SELECT id
       , application_id
       , 3rd_column_to_generate From SemesterApplication 
WHERE SemesterApplication.semester.id = 1 
ORDER BY SemesterApplication.modified

我需要查询返回第3列,该列将保存结果的编号。如果查询返回20个结果,则第3列将返回1到20之间的值。

此查询将用作另一个查询中的子查询。

1 个答案:

答案 0 :(得分:0)

在mysql中执行此操作并不是很好的方法。普遍的黑客攻击是创建一个变量并增加它。所以:

SELECT   @rownum:=@rownum+1 rownum, 
         id,
         application_id,
         3rd_column_to_generate 
From     SemesterApplication,
         (select @rownum:=0) r
WHERE    SemesterApplication.semester.id = 1 
ORDER BY SemesterApplication.modified