感觉好久没有写博客了,今天的第一篇,先来写写mysql数据库中查询使用伪列@rownum。这是今天早上突然来的一个需求,查询出来的数据根据分页展示,且按照id排序。下面开始应用两种情况下的伪列 1.单纯按照数据数量排序,起始值默认0(可自定义)
select
(@rownum
:=@rownum
+1) as ID
, b
.* from
(SELECT @rownum
:= 0) a
,
table_name b
这里自定义了当前伪列起始值为0,且每次递增1,排列在后续数据字段的最前面展示。 2.按照分页查询改变起始值 分页查询下一页时,默认当前记录条数从(pageNum - 1)* pageSize开始,所以修改SQL语句为:
select (@rownum:=@rownum+1) as ID, b.* from (SELECT @rownum:= (#{pageNum,jdbcType=INTEGER} - 1) * #{pageSize,jdbcType=INTEGER}) r,
table_name b
因为查询出来的数据可能不是连续的,但是前端展示的时候,又需要连续的序号,此处即可使用如上sql。 附上前端展示: