在其他的关系型数据库中,都有rownum这类型的内置函数来提供查询结果的行号,但是MySQL没有,阿福也一直觉得奇怪。
虽然没有这玩意,但是需求还是要完成的,所以只能用其他的途径来实现了。
方法是通过预定义变量自增来实现:
set @myVar = 0 ;
select (@myVar := @myVar + 1) as rowNum ,otherColoum from table;
懂了么?otherColoum 就是其他的字段,table就是表明。其实熟悉MySQL语句的应该都能看懂。无非就是定义了一个用户变量来实现自增。
当然这个变量是永久变量还是临时变量就不晓得了。阿福在测试的时候发现,该变量接执行结果后还是保留的,却不知道数据库重启之后该变量是否保留。
未经允许不得转载:RffanLAB|Rffan实验室 » MySQL 在查询结果中记录行号