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