gpt4 book ai didi

mysql - 选择由先前选择的值表示的值的总和的正确语法是什么?

转载 作者:行者123 更新时间:2023-11-29 02:27:44 24 4
gpt4 key购买 nike

在伪代码中我想完成这个:

select 
count(groupA) as gA,
count(groupB) as gB,
count(groupC) as gC,
sum(gA,gB,gC) as groupABCTotal

但是我尝试过的各种方法都导致了语法错误。在不重新选择总和的组计数的情况下实现此目标的正确方法是什么?

最佳答案

如果您希望总和作为另一列输出,则必须以一种或另一种方式重新选择组成列。

我觉得这相当可读:

SELECT d.*, gA+gB+gC AS groupABCTotal
FROM (SELECT COUNT(groupA) AS gA,
COUNT(groupB) AS gB,
COUNT(groupC) AS gC
FROM tbl) d;

但如您所知,这也有效:

SELECT COUNT(groupA) AS gA,
COUNT(groupB) AS gB,
COUNT(groupC) AS gC,
COUNT(groupA)+COUNT(groupB)+COUNT(groupC) AS groupABCTotal
FROM tbl;

现在,MySQL 可能足够聪明,不会重新计算冗余聚合,因此 COUNT(groupA) 在上面的第二种形式中只会计算一次。

关于mysql - 选择由先前选择的值表示的值的总和的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537942/

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