簡體   English   中英

SUM使用子查詢

[英]SUM using sub-query

我想在SELECT中使用SELECT來獲取一些值(我已經准備好了)。
問題是,我想在mysql中顯示此數據,總和,就是問題所在。

我不會發布原始代碼,而是看這個例子。

SELECT id, (SELECT COUNT(x) FROM xyz where id=usr.id) as value_1,
(SELECT COUNT(y) FROM zyx where id=usr.id) as value_2 
FROM users AS usr

這是正確的工作,但我想對value_1和value_2求和。

當我這樣做

SELECT id,
(SELECT COUNT(x) FROM xyz where id=usr.id) as value_1, 
(SELECT COUNT(y) FROM zyx where id=usr.id) as value_2, 
(value_1+value_2) as my_sum_value
FROM users AS usr

我得到有關“ value_1”和“ value_2”的信息。

我知道,我可以使用

SELECT id, 
(SELECT COUNT(x) FROM xyz where id=usr.id) as value_1, 
(SELECT COUNT(y) FROM zyx where id=usr.id) as value_2, 
((SELECT COUNT(x) FROM xyz where id=usr.id) as value_1, 
(SELECT COUNT(y) FROM zyx where id=usr.id)+
(SELECT COUNT(y) FROM zyx where id=usr.id) as value_2) as my_sum_value
FROM users AS usr

但是,我必須編寫所有代碼“兩次”。 為什么我不能使用稱為“ value_1”和“ value_2”的“別名”? 查詢后,該值是正確的,如何訪問總和值?

嘗試這個

SELECT id,
    SUM(
    (SELECT COUNT(x) FROM xyz where id=usr.id), 
    (SELECT COUNT(y) FROM zyx where id=usr.id)
    ) as my_sum_value
FROM users AS usr

您不能使用變量,因為它們在子查詢中...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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