少なくとも3回連続して出現するすべての数字を見つけるSQLクエリを作成します。なぜa + 2 = b + 1 = c対a + 1 = bおよびb + 1 = cに対して異なる結果を返すのですか?
| Id | Num |
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 2 |
| 7 | 2 |上記ログテーブル所与例えば
、は、少なくとも3回連続して表示される唯一の数です。
私の元のクエリは、1と2を返します。
SELECT l1.Num
FROM Logs l1, Logs l2, Logs l3
WHERE l1.Id + 2 = l2.Id + 1 = l3.Id
AND l1.Num = l2.Num = l3.Num;
+ ------------------------------ ------------------------------------------
次に、
SELECT l1.Num
FROM Logs l1, Logs l2, Logs l3
WHERE l1.Id + 1 = l2.Id AND l2.Id + 1 = l3.Id
AND l1.Num = l2.Num AND l1.Num= l3.Num;
+ -----:これに対するクエリは、正しい答えを返し、(基本的にI + 2 = B + 1 = C + 1 = BとB + 1 = C Aに変更します) -------------------------------------------------- -----------------
それは私を狂っている、私は私達の理由を理解することはできません。誰も私にこれを親切に説明できますか?前もって感謝します!!!!
SQLでは、 '='は他の多くの遅延で '=='と同じです。 –
「2 = 2 = 2」=> '(2 = 2)= 2' =>'(1)= 2' => '0'(FALSE) –