简体   繁体   English

SUM使用子查询

[英]SUM using sub-query

I would like using SELECT, inside SELECT to get some values (i allready done this). 我想在SELECT中使用SELECT来获取一些值(我已经准备好了)。
Problem is, i would like to display this data in mysql, sum, and that's the problem. 问题是,我想在mysql中显示此数据,总和,就是问题所在。

I won't post original code, but look at this example. 我不会发布原始代码,而是看这个例子。

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

That's work correct, but i would like to sum value_1 and value_2. 这是正确的工作,但我想对value_1和value_2求和。

When i do this 当我这样做

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

i got information about "value_1" and "value_2" not found. 我得到有关“ value_1”和“ value_2”的信息。

I figure out, that i can use 我知道,我可以使用

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

But, i have to write "twice" all of my code. 但是,我必须编写所有代码“两次”。 Why i can't use "alias" called "value_1" and "value_2" ? 为什么我不能使用称为“ value_1”和“ value_2”的“别名”? After query, this values are correct, how to access sum value? 查询后,该值是正确的,如何访问总和值?

try this 尝试这个

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

you can't use the variables because they're in a subquery... 您不能使用变量,因为它们在子查询中...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM