[英]How to sum two subqueries count in third variable mysql query?
我正在尝试汇总喜欢和评论的总数,但结果始终为零(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
。 它只会对性能产生不利影响。
你可以这样尝试
SELECT DISTINCT id,name,picture,
(SELECT COUNT(id) from likes) as likes,
(SELECT COUNT(id) from comments) as comments,
(SELECT COUNT(id) from likes)+(SELECT COUNT(id) from comments) as total
From users
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.