私は2つのテーブルを持っています。最初の名前TABLE
には一意の _A (KEY) を持つ N 行があり、2 番目の名前TABLE_AUX
には 0 行があり、次のクエリを実行しています。
INSERT INTO TABLE_AUX(_A,_B,_C)
SELECT A,B,C FROM TABLE;
クエリを評価した後、次のことがわかりました。
a) N = SELECT COUNT(1) FROM TABLE = SELECT COUNT(1) FROM TABLE_AUX
b) K = SELECT SUM(Q.CNT-1)
FROM ( SELECT COUNT(1) as CNT, _A
FROM TABLE_AUX GROUP BY _A HAVING COUNT(1)>1
) Q;
c) M = SELECT COUNT(Q._A)
FROM (SELECT DISTINCT _A
FROM TABLE_AUX) Q
, WHERE N = M + K, then M < N
d) Zero = 0 = SELECT COUNT(1)
FROM TABLE T
WHERE NOT EXISTS ( SELECT *
FROM TABLE_AUX TA
WHERE TA._A = T._A );
e) P = SELECT COUNT(1) FROM TABLE T, TABLE_AUX TA WHERE T._A = TA._A;
, WHERE P = N + K, then N < P
奇妙なことに、場合によっては結果が繰り返されます。しかし、すべての場合ではありません。何が起こっているのか知っている人はいますか?