阿里rds数据库,同一sql语句执行多次得到数据的排序变化问题

2020-12-08  本文已影响0人  cmeizu
LEFT JOIN exercise_chapter xtchapter ON xtchapter.chapterId = chapter.Id
LEFT JOIN testpaper_detail detail ON xtchapter.exerciseId = detail.exerciseId
LEFT JOIN testpaper_info info ON info.Id = detail.Testpaper_Id
LEFT JOIN homework homework ON homework.testpaperId = info.Id
LEFT JOIN homework_exercise exercise ON exercise.HomeworkId = homework.Id
LEFT JOIN homework_student student ON student.homeworkId = homework.Id 

改写这部分表关联的sql.结果没有解决问题

SELECT DISTINCT 
id as orderId,
no as orderNo,
-- 问题就出在这里,如果出现为null的情况,排序就会发生变化
(SELECT SUM( Score ) / SUM( SumScore )  FROM XXXX WHERE XXXX = 1234) rate

原因找到了,但是原理并不知道
A: 改的方法当然是简单的,将这个抽取出来的,不在sql中操作.
至此问题是解决了,但是原理不是很清楚,先记在这里.后面弄清楚了再补充

上一篇 下一篇

猜你喜欢

热点阅读