次のテーブルがあります。
CREATE TABLE メンバー ( member_id int(1) unsigned NOT NULL AUTO_INCREMENT, Logged_in tinyint(1) NOT NULL, 主キー (member_id)、 UNIQUE KEY member_id (メンバーID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO メンバー (member_id、logged_in) 値 (1, 0), (2, 1), (3, 1), (4, 1), (5,0); + -----------------------+ | | メンバー | +----------+-----------+ | | メンバーID | ログイン済み | +----------+-----------+ | | 1 | 0 | | | 2 | 1 | | | 3 | 1 | | | 4 | 1 | | | 5 | 0 | +----------+-----------+
CREATE TABLE team_members ( team_id int(1) 符号なし NOT NULL, member_id int(1) 符号なし NOT NULL, PRIMARY KEY (チーム ID、メンバー ID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO team_members (team_id, member_id) 値 (1, 1), (1, 2), (2, 3), (2, 4), (3, 5); +---------------------+ | | チームメンバー | +---------+-----------+ | | チーム ID | メンバーID | +---------+-----------+ | | 1 | 1 | | | 1 | 2 | | | 2 | 3 | | | 2 | 4 | | | 3 | 5 | +---------+-----------+
そして、これは私が達成する必要がある出力です:
+---------+-----------------------+ | | チーム ID | login_in_users_count | +---------+-----------------------+ | | 1 | 1 | | | 2 | 2 | | | 3 | 0 | +---------+-----------------------+
次のSQLクエリを試していますが、期待される出力が返されません:
選択する tm.team_id、 (SELECT COUNT(m.logged_in) FROM members m WHERE m.logged_in = 1) AS logged_in_users_count から メンバー INNER JOIN team_members tm ON (m.member_id = tm.member_id) グループ化 tm.team_id