作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在查询中遇到问题。我使用的是 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
您看,您可以计算整个结果集中非空记录的数量,而不是计算每个组中非空 tipe
记录的数量 - 这就是您需要 over() 的原因
子句。它叫做window functions .
关于sql - 条件为 "group By"的总行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245718/
我是一名优秀的程序员,十分优秀!