gpt4 book ai didi

mysql - SUM 使用子查询

转载 作者:行者123 更新时间:2023-11-29 00:53:20 27 4
gpt4 key购买 nike

我想在 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”的“别名”?查询后,这个值是正确的,如何获取sum值?

最佳答案

试试这个

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

您不能使用变量,因为它们在子查询中...

关于mysql - SUM 使用子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308431/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com