我这里有两张重要的桌子。其中一个表名为POSTS,包含post和reply(回复与POSTS处理完全相同,但它们在POSTS.reply中有POSTS.id引用的post)。
我的第二个表名为social,包含POST。id作为外键,与视图和喜好+喜欢并查看它的用户一起使用。
我用这个选择来获取我所有的帖子数据,包括标题、内容。。。喜欢、喜欢和观点:
SELECT posts.id, posts.username, posts.time, cat.cat_name,
posts.title, posts.content, posts.reply,
posts.user_file, posts.audio,
social.views, social.likes
FROM posts
LEFT JOIN user on posts.user_id = user.id
LEFT JOIN cat ON posts.cat_id = cat.id
LEFT JOIN social ON posts.id = social.post_id
WHERE social.likes IN (SELECT social.likes FROM social
WHERE social.id IN (SELECT MAX(social.id)
FROM social GROUP BY post_id))
GROUP BY social.post_id
HAVING posts.reply = 0
我不知道如何让一行包含回复特定帖子的回复数(一行应该包含我在页面上显示的所有数据)。
我不知道如何在一行中包含回复特定帖子的回复数
(1行应包含我在页面上显示的所有数据)。
通常我会收到这样的评论,但我不知道如何合并这些:)
SELECT * FROM posts WHERE posts.reply != 0
结构如下所示:
从我希望收到的查询中:
"username" "time" "cat_name" "title" "content" "reply" "user_file" "audio" "views" "likes" "id" "username"
"xxx_user_xxx" "YYYY-MM-DD" "topic" "Title." "NSJNASNJSAN?" "reply: 1/not reply: 0" "/user_uploads/xxx.yyy" "audio or video" "number of views" "number oflikes"
现在,我想获得一个额外的回复栏(该栏选择*FROM posts WHERE posts.reply!=0),并获取每个帖子的回复数。