好的,我从我的一台 mysql 服务器中看到了奇怪的查询行为。我在三个具有相同数据的不同服务器上运行了以下两个查询。
SELECT t1.Field1, t1.Field2, t1.Field3,
(SELECT t2.Field1
FROM thetable AS t2
WHERE Field2=t1.Field2 AND Field3=t1.Field3 AND t2.Field1>t1.Field1
ORDER BY Field1
LIMIT 1) AS MinimumResult
FROM thetable AS t1
WHERE t1.UserID=5;
SELECT t1.Field1, t1.Field2, t1.Field3,
(SELECT min(t2.Field1)
FROM thetable AS t2
WHERE Field2=t1.Field2 AND Field3=t1.Field3 AND t2.Field1>t1.Field1) AS MinimumResult
FROM thetable AS t1
WHERE t1.UserID=5;
在三台服务器中的两台上,两个查询都返回相同的结果。第三,我得到了 MinimumResult 字段的两个不同结果。第一个查询,返回一个小数字。第二个查询返回我期望的内容以及两个查询在其他服务器上返回的内容。
我不知道该如何回应?这是服务器配置问题还是预期行为?
提前感谢您提供的任何帮助。