有没有办法像在oracle中的rownum一样获取Mysql中的行号

问题描述:

有没有办法像Mysql中的rownum那样获取Mysql中的行号?如果没有,那么是否有任何间接的方式来做到这一点?请提出 。有没有办法像在oracle中的rownum一样获取Mysql中的行号

+0

没有排名的功能。参阅此[#1问题] [1] [1]:http://stackoverflow.com/questions/1895110/row-number-in-mysql – mehul9595 2011-12-14 18:58:58

之前的MySQL终于支持modern SQL,得到类似的东西的唯一办法是这样的:

SELECT @rownum:[email protected] + 1 as row_number, 
     t.* 
FROM ( 
    < your original query goes here > 
) t, 
(SELECT @rownum := 0) r 

最佳做法是为每行添加一个自动递增ID。如果有一天您选择使用关系表,这也可以帮助您很多。

在phpMyAdmin中,当您创建(或编辑)表格时,您会看到AUTO_INCREMENT选项。您只能有一列启用了自动ID。

编辑:这是你的数据库会是什么样子:

id | name | email | phone 
1 Tekin ...  ... 
2 John ...  ... 
3 Jane ...  ... 
+5

即东西一个`ROW_NUMBER完全不同的()价值。如果您想在按特定列排序后得到行号,该怎么办? – 2011-12-14 18:53:05