mysql 查询数据显示序号(含分页问题的解决方案)

在查询mysql时可能存在需要动态展示序号的情况,可使用一下sql进行解决:

SELECT
    @ROW :=@ROW + 1 AS NO,
    pt.*
FROM
    pub_test AS pt
LEFT JOIN (SELECT @ROW := 0) r ON 1 = 1;

这种情况遇上分页时会出现每次翻页都从1开始重新计算,这种情况可以使用分页偏移量作为开始计算数,解决方案如下:

SELECT
    @ROW :=@ROW + 1 AS NO,
    ps.*
FROM
    pub_test AS pt
LEFT JOIN (SELECT @ROW := #{startSize}) r ON 1 = 1

limit #{startSize},#{pageSize};

你可能感兴趣的:(解决方案)