我有一个奇怪的问题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错误?