gpt4 book ai didi

sql - 条件为 "group By"的总行

转载 作者:行者123 更新时间:2023-11-29 12:38:05 25 4
gpt4 key购买 nike

我在查询中遇到问题。我使用的是 postgresql。我需要获得总行,但条件是“分组依据”

table qwe 
----------------------------
TIPE | VAL
----------------------------
1 | 2
2 | 3
2 | 1
2 | 4
3 | 1
3 | 3

我需要的结果是

-------------------------
TIPE | VAL | TOTAL TIPE
-------------------------
1 | 2 | 3
2 | 8 | 3
3 | 4 | 3

到目前为止我尝试过的查询

select tipe, sum(val), count(tipe) "total tipe" 
from qwe group by tipe order by tipe


-------------------------
TIPE | VAL | TOTAL TIPE
-------------------------
1 | 2 | 1
2 | 8 | 3
3 | 4 | 2

最佳答案

你可以试试这个:

select
tipe, sum(val), count(tipe) over() as "total tipe"
from qwe
group by tipe
order by tipe

sql fiddle demo

您看,您可以计算整个结果集中非空记录的数量,而不是计算每个组中非空 tipe 记录的数量 - 这就是您需要 over() 的原因 子句。它叫做window functions .

关于sql - 条件为 "group By"的总行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245718/

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