簡體   English   中英

如何在第三個變量mysql查詢中求和兩個子查詢的總和?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM