我有3个用户,帖子和评论表。用户表字段mysql - 从评论数和用户,帖子和评论表中获得所有帖子
ID,姓名,性别,电话
职位表中的字段是
POST_ID,USER_ID,职位,时间
意见表字段
ID,USER_ID,评论,post_id,时间
我想要得到这些字段的值
姓名,性别,职位,时间,计数(评论)
我有3个用户,帖子和评论表。用户表字段mysql - 从评论数和用户,帖子和评论表中获得所有帖子
ID,姓名,性别,电话
职位表中的字段是
POST_ID,USER_ID,职位,时间
意见表字段
ID,USER_ID,评论,post_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
这里0将取代性别组添加User.gender分组。
始终添加组中的所有非聚合。 –
感谢您的回答。 –
你尝试过什么吗? –
你需要在表格中加入JOIN。就是这样... – Rahul
我确实加入了,但是没有对它发表评论,它显示为空。我需要计数 –