Py学习  »  DATABASE

我如何计算每个帖子的评论数(MySQL)?

nik • 3 年前 • 1089 次点击  

我这里有两张重要的桌子。其中一个表名为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

结构如下所示:

enter image description here

从我希望收到的查询中:

    "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),并获取每个帖子的回复数。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132281
 
1089 次点击  
文章 [ 1 ]  |  最新文章 3 年前