ユーザー、投稿、コメントの3つのテーブルがあります。 Usersテーブルのフィールドがmysql - ユーザー、投稿、コメントテーブルからコメント数とユーザーの投稿をすべて取得する
ID、氏名、性別、電話
投稿テーブルのフィールドが
post_idの、user_idは、投稿されている、時間
コメントテーブルのフィールドは、
ID、USER_IDですコメント、投稿ID、時刻
私はこれらのフィールドの値を取得したいと考えています
名前、性別、ポスト、時間、回数(コメント)このよう
ユーザー、投稿、コメントの3つのテーブルがあります。 Usersテーブルのフィールドがmysql - ユーザー、投稿、コメントテーブルからコメント数とユーザーの投稿をすべて取得する
ID、氏名、性別、電話
投稿テーブルのフィールドが
post_idの、user_idは、投稿されている、時間
コメントテーブルのフィールドは、
ID、USER_IDですコメント、投稿ID、時刻
私はこれらのフィールドの値を取得したいと考えています
名前、性別、ポスト、時間、回数(コメント)このよう
SELECT x.*, CONCAT(u.FirstName, ' ', u.LastName) as name, u.Gender as gender
FROM (
SELECT
a.id , a.post, a.date_time, a.user_id as uid,
COUNT(c.post_id) AS 'count'
FROM
posts a
LEFT JOIN
comments c ON a.id = c.post_id
GROUP BY
a.id
) x
LEFT JOIN users u ON u.id=uid
ありがとう。できます。 –
ようこそ@IliasAhmed –
試してください:あなたがしたい場合はcomments.idが
SELECT User.name, User.gender, posts.posts, count(distinct ifnull(comments.id, 0)) as commentcount
FROM User
JOIN posts on user.id = posts.user_id
JOIN comments on user.id =comments.user_id
GROUP User.name, posts.posts
nullの場合
ここで0が置き換えられます性別を持つグループは、グループ化するUser.genderを追加します。
グループ内のすべての非集約を常に追加します。 –
あなたの答えをありがとう。 –
まだ試しましたか? –
テーブルの中で 'JOIN'する必要があります。それはそれです... – Rahul
私は参加しましたが、投稿に対するコメントがない場合はnullを示します。私はカウントが必要 –