gpt4 book ai didi

mysql - SQL 合并行求和

转载 作者:可可西里 更新时间:2023-11-01 07:45:51 25 4
gpt4 key购买 nike

我正在尝试对从 UNION 中的不同 SQL 查询获得的两行求和,这可能吗?我所能实现的只是两个单独的行,但我无法对它们求和,数据库引擎一直告诉我 *) FROM(SUM 旁边的部分)附近的语法有错误...

这是查询:

SELECT * FROM

(SELECT COUNT(*) as cntclients
FROM
(SELECT DISTINCT clientkey AS clients
FROM <table>
WHERE <conditions...>)
) AS clients
) cntclients

UNION

(SELECT SUM(occurrences) AS cntclientsad
FROM <table2>
WHERE <conditions...>
)

例如,这让我感到震惊:

cntclients
----------
901
50

在第一行中添加 SELECT SUM(*) FROM 而不是 SELECT * FROM,并用括号将两个查询括起来只会抛出上述错误...

我愿意

cntclients <- or whatever name...
----------
951

知道这个总和应该如何计算吗?

最佳答案

您实际上不需要为此使用 UNION - 您可以手动将它们添加在一起:

SELECT a.countKey + b.sumOccur as total
FROM (SELECT COUNT(DISINCT clientkey) as countKey
FROM <table>
WHERE <conditions>) as a
CROSS JOIN (SELECT SUM(occurrences) as sumOccur
FROM <table2>
WHERE <conditions>) as b

关于mysql - SQL 合并行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405124/

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