【 TiDB 使用环境`】生产环境
【 TiDB 版本】v4.0.8
【遇到的问题】
迁移mysql库到tidb后,因为业务之前使用的是 MySQL,而且查询语句都使用了 group by 而且没加 order by,在mysql 查询出来的结果都不会变,但是在 tidb 查询出来的结果每次顺序都会变。导致我们的业务统计出来的结果在web页面显示是乱序的。(因为我们的老项目使用的sql 都没有加 order by,如果需要修改业务sql的话代价太大,需要修改几百个语句)
【复现路径】
【求助】
有没有方法,在 tidb 中使用 group by 进行查询,不加 order by(由于业务上需要改几百处 sql,代价太大) 结果也能像 mysql 一样按照顺序进行排序,而不是每次查询的结果都是乱序
【问题现象及影响】
tidb 使用 group by 查询的两次结果对比,可以看到顺序变了:
使用 tidb 第一次查询:
使用 tidb 第二次查询:
使用 mysql 查询的结果,可以看到会自动在 timetamp 字段进行排序: