2013-12-20 46 views
-1

我正在从Mysql数据库中选择一些值。我需要选择查询本身中的行号,以便在我的Java程序中对这些值进行一些操作。我怎样才能得到选择查询本身的行号?选择查询中的Mysql行数

例如,我的查询结果如下。

ID Name Marks 
110 XXX 100 
111 YYY 95 

我试图获得输出,

ID Name Marks Student_Count 
110 XXX 100  1 
111 YYY 95   2 

我有一个像下面的SQL查询。但它不起作用。

SET @cnt := 1 
SELECT ID, Name, Marks, @cnt + 1 FROM Students 

如何修改上述查询以获得SELECT查询本身的计数?

+0

定义“不工作”。 – GolezTrol

+0

请参阅:http://stackoverflow.com/questions/1895110/row-number-in-mysql – Brendan

+0

可能重复的[与MySQL,我怎样才能生成一个包含记录索引表中的列?](http:// stackoverflow.com/questions/3126972/with-mysql-how-can-i-generate-a-column-containing-the-record-index-in-a-table) – GolezTrol

回答

0

你应该(作为此情况下,最好的做法)把某种ORDER BY子句时

SELECT ID, Name, Marks 
    , @cnt := @cnt + 1 AS counter 
FROM Students 
JOIN (SELECT @cnt := 0) AS tmp