私はデータを含むこのテーブル構造を持っています:
INSERT INTO `test` (`id`, `email`, `id_user_ref`, `name`) VALUES
(1, 'email@gmail.com', NULL, 'Mike'),
(2, 'email2@gmail.com', '1', 'Jhonny'),
(3, 'email3@gmail.com', '1', 'Michael'),
(4, 'email4@gmail.com', '2', 'Jorhe'),
(5, 'email5@gmail.com', '3', 'Mia');
このクエリを使用して、すべてのユーザーの id_user_ref をカウントする必要があります。
SELECT id, COUNT(name) AS refNr FROM test GROUP BY id_user_ref
HAVING id_user_ref IS NOT NULL;
これは機能しますが、カウント結果が0であってもすべての結果を表示する必要があるという問題があります。
同じテーブルでいくつかの左結合を試みましたが、成功しませんでした。
出力は次のようになります。
id refNr
1 2
2 1
3 1
4 0
5 0