在mysql中并没有类似oracle中的rownum。可有的时候,我们需要获取对应的行数获取来进行相关排序、
实现方法
第一步:
SELECT @rownum:=0 from tableName t
rownum 其意思等同于声明一个变量名(所以可以任意修改),并赋初始值为0!
但是这样的运行结果都是等于0,所以必须用到自增才型
所以需要结合,故
第二步(自增)
select @rownum := @rownum+1 from (SELECT @rownum:=0 from tableName t) t
就可以实现oracle中的rownum
非常感谢 lwpan 的评论。他所说的问题的确存在。如果直接运行上面的SQL语句是会报
Space is not allowed after parameter prefix ':' 异常。
该异常是因为hibernate的jar在4.0以下版本bug导致,4.0以上是没问题的。可以参考