次のクエリを検討してください。
SELECT artist.id, COUNT(DISTINCT artist$styles.v_id)
FROM artist
LEFT JOIN artist$styles ON artist$styles.p_id = artist.id
これは私が得る結果です:
id count
1 4
質問は次のとおりです。
- テーブルに4つの行があり、クエリに適用される、、、または句がない場合に、
artistテーブルから1つの行だけを選択するのはなぜですか?WHEREHAVINGLIMITGROUP BY - 価値のあるレコードは3つしかないのに
artist$styles、なぜカウントされるのですか?p_id14 GROUP BY句を追加すると正しい結果が得られるのはなぜですか?SELECT artist.id, COUNT(DISTINCT artist$styles.v_id) FROM artist LEFT JOIN artist$styles ON artist$styles.p_id = artist.id GROUP BY artist.id ---- id count 1 3 2 1 3 3 4 1これはすべて私には意味がありません。これはMySQLのバグでしょうか?Community5.5.25aを実行しています