我有一个奇怪的问题select
。WHERE
子句中的顺序是否可能会影响结果?
这是我的选择:
选择 u.userName, u.fullName, g.uuid 作为 groupUuid, g.name 作为 `group`, m.number 作为模块,count(distinct b.uuid) 作为 buildCount,max(b.datetime), count(distinct e.buildId) as errorBuildCount, e.id as errorId 来自用户 u 在 GU.user_id = u.id 上内部加入 GROUP_USER GU 在 g.id = GU.group_id 上内部加入 `Group` g 在 c.id = g.courseId 上内部加入课程 c 左外连接 Build b on b.userId = u.id 在 m.id = b.moduleId 上左外连接模块 m e.buildId = b.id 上的左外连接错误 e 其中c.uuid = 'HMUUcabR1S4GRTIwt3wWxzCO' 和 g.uuid = 'abcdefghijklmnopqrstuvwz' 按 u.userName、m.number、c.uuid、g.uuid 分组 按 g.id asc、u.fullName asc、m.number asc 排序
这将重现此结果: http ://dl.dropbox.com/u/4892450/sqlSelectProblem/select1.PNG
当我使用这个条件时:
where g.uuid = 'abcdefghijklmnopqrstuvwz' and c.uuid = 'HMUUcabR1S4GRTIwt3wWxzCO'
(不同的顺序)我得到不同的结果(见errorId
专栏):
http ://dl.dropbox.com/u/4892450/sqlSelectProblem/select2.PNG
请你帮助我好吗?整个选择是错误的,还是可能是一个 mysql
错误?