mysql 生成自增id/获取行号
描述
有时在做查询时,会碰到需要行号的情况。不同于oralce有rownum,mysql自身不具有行号可供使用。
方法
这里推荐此篇文章:Mysql中获取行号
仿写
select (@id:=@id+1) id, day_id from tmp_calendar,(select @id:=0) a
结果
总结
该语句有两个要点是值得学习的。
- 将变量指定语句
(select @id:=0)
放在from后,使变量在查询体中默认指定,省略一条set语句。有时候是否一条语句决定了这个API是一个存储过程还是一句sql。这样写相当简洁 - 变量自增1的操作
(@id:=@id+1)