2016-05-19 2 views
0

私は、「ユーザー」と「ポスト」と呼ばれるテーブルと呼ばれるテーブルを持っています。 postsテーブルは、外部キー属性としてユーザーのID情報を保持します。投稿テーブルFROM usersテーブルのID番号に対応するすべてのユーザ名を選択したいと思います。それから私は、すべてのユーザーのための投稿数を取得することができるようにCOUNT(*)機能とGROUP BY usernameステートメントを使用します。 どうすればいいですか?別のテーブルの情報を使用してテーブルから一連の情報を選択するにはどうすればよいですか?

+0

あなたは参加してみましたか?のみを含む同じ名前を持つ複数のユーザーがある場合 –

答えて

0

私は、ユーザー名でグループではないだろう、同じ名前を持つ複数のユーザーがあるかもしれませんので。代わりにユーザーのIDでグループ化します。

SELECT users.username, count(*) 
    FROM users, posts 
    WHERE users.id = posts.user_id 
    GROUP BY users.id; 
+0

'結果セット内username'はそれらを区別することはできません。 – eggyal

+0

ええ、users.id、users.firstname(存在する場合)などを追加するのは簡単です。 OPはユーザー名を選択したかったので、このフィールドのみを含めました。 –

+0

usernameの列は私のテーブル内でユニークです。私が知っている:だからおかげで:) @eggyal – Gimballock

関連する問題