我正在尝试对总喜欢和评论求和,但结果始终为零 (0) 请帮我解决这个问题,因为我已经实现了大部分我找到但没有成功的解决方案。
SELECT DISTINCT id,name,picture,
(SELECT COUNT(id) from likes) as likes,
(SELECT COUNT(id) from comments) as comments,
(likes+comments) as total
From users
最佳答案
您不能在定义它们的同一 SELECT
中使用列别名。我建议在 FROM
子句中这样做:
SELECT DISTINCT u.id, u.name, u.picture, l.likes, c.comments,
(l.likes + c.comments) as total
FROM users u CROSS JOIN
(SELECT COUNT(id) as likes FROM likes) l CROSS JOIN
(SELECT COUNT(id) as comments FROM comments) c;
据推测,u.id
是唯一的。如果是这样,您应该删除 SELECT DISTINCT
。它只会对性能产生不利影响。
关于php - 如何在第三个变量 mysql 查询中对两个子查询计数求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45349515/