この簡単なクエリがあります
SELECT *,count(*) as total FROM `Artikels` group by `Manuf_nr` having total >1
ただし、結果が得られるまでに約 3 秒かかります。とにかく私はそれをスピードアップすることができますか?返信ありがとうございます。
この簡単なクエリがあります
SELECT *,count(*) as total FROM `Artikels` group by `Manuf_nr` having total >1
ただし、結果が得られるまでに約 3 秒かかります。とにかく私はそれをスピードアップすることができますか?返信ありがとうございます。
Artikels の Manuf_nr 以外の列が未定義の行からのものであるため、スクリプトは奇妙な結果をもたらします (つまり、10 行に同じ Manuf_nr がある場合、10 になる可能性がありますが、それらの 10 行の詳細のうちのどれが select によって返されましたか?定かではありません)。
Manuf_nr のインデックスを想定すると、SQL はおそらく次のように書き直されるはずです。
SELECT a.*, b.total
FROM Artikels a
INNER JOIN (
SELECT Manuf_nr, count(*) AS total
FROM `Artikels`
GROUP BY Manuf_nr
) b
ON a.Manuf_nr = b.Manuf_nr
AND b.total > 1
これにより、Manuf_nr に複数の行がある各 Manuf_nr のすべての行が返されます。