基本上我有一个评论 MySQL 表。我有一个名为“parent_id”的列,用于跟踪一条评论是否是对另一条评论的回复。
我想做的是统计所有的评论。这工作正常,但如果您删除评论而不是回复,它会将它们视为仍处于事件状态但完好无损,它们将被删除。
这是我的 MySQL 查询,目前无法正常工作...有什么想法吗?
SELECT ic.*
FROM roster_services_items_comments AS ic
WHERE (SELECT icp.id FROM roster_services_items_comments AS icp
WHERE ic.parent_id = ''
OR (icp.id = ic.parent_id AND icp.deleted != 0)
LIMIT 1) IS NOT NULL
最佳答案
关于:
SELECT ic.*, COUNT(icp.parent_id) AS replies_count
FROM roster_services_items_comments AS ic
LEFT JOIN roster_services_items_comments AS icp ON ic.id = icp.parent_id
WHERE ic.deleted != 0
GROUP BY ic.id
HAVING ic.parent_id IS NULL
编辑:修复了评论没有任何回复时不计在内的计数
关于mysql - 帮助 MySQL 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5428740/