该视频仅会员有权观看
立即开通课程「Node 框架 Express 实践」权限。
- 现在我们可以通过编写SQL查询来找出一组评论及其收到的回复数量。
- 有两种方法可以统计回复数量:使用LEFT JOIN或子查询。
- LEFT JOIN方法:
- 使用
SELECT comment_id, comment_content FROM comment
利用SQL语句从评论数据表中选择。
- 通过LEFT JOIN拼接相同数据表,并为其设置别名,如
comment_reply
。
- 使用ON设置连接条件,即
comment_reply.parent_id = comment.id
。
- 对于被多次回复的评论,它们会多次出现在结果中。
- 使用
WHERE comment_id = 1
限定具体的评论ID。
- 再使用
COUNT
对 comment_reply.id
进行统计,并用 DISTINCT
去除重复项。
- 最后展示包含回复数的
total_replies
栏目。
- 子查询方法:
- 移除LEFT JOIN部分,并在
SELECT
语句中去除 COUNT
。
- 在括号内使用子查询,如
SELECT COUNT(reply.id) FROM comment AS reply
。
- 设置WHERE条件,使
reply.parent_id
等于评论表中的ID。
- 执行查询后,结果中依然会包括
total_replies
栏目,显示每条评论的回复数量。
- 举例修改查询条件为
comment.id = 4
,运行后将展示该评论的回复数。