gpt4 book ai didi

sql - 来自表的多级聚合

转载 作者:行者123 更新时间:2023-11-29 12:37:42 34 4
gpt4 key购买 nike

我有一个包含以下列的指标表:

stage  name---------------------new    membernew    memberold    membernew    visitorold    visitor

现在我可以通过运行这样的查询来找出有多少新成员或老成员:

select stage, count(*) from metrics where name = 'member' group by stage;

这将给我以下结果:

stage count-----------new   2old   1

但除此之外,我还想要这样的输出:

total  stage count------------------3     new    23     old    1

Total 是满足上述 where 子句的所有行的总和。我需要如何修改我以前的查询以获得我需要的结果?谢谢。

最佳答案

你可以这样做:

with t as 
(select stage from metrics where name = 'member')
select
(select count(*) from t) as total,
stage, count(*)
from t
group by stage

查看:http://sqlfiddle.com/#!15/b97a4/9这是一个紧凑的变体,只包含一次 'member' 常量。

关于sql - 来自表的多级聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23623258/

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