OK、私の mysql サーバーの 1 つから奇妙なクエリ動作が見られます。すべて同じデータを使用して、次の 2 つのクエリを 3 つの異なるサーバーで実行しました。
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;
3 つのサーバーのうちの 2 つで、両方のクエリが同じ結果を返します。3 つ目では、MinimumResult フィールドに対して 2 つの異なる結果が得られます。最初のクエリは、小さい数値を返します。2 番目のクエリは、私が期待するものと、両方のクエリが他のサーバーで返すものを返します。
私はこれにどのように対応すればよいかわかりませんか?これはサーバー構成の問題ですか、それとも予想される動作ですか?
ご協力いただきありがとうございます。