postgresql 计算结果集的总和
Posted
技术标签:
【中文标题】postgresql 计算结果集的总和【英文标题】:postgresql calculate sum of a resultset 【发布时间】:2011-11-14 14:52:55 【问题描述】:postgresql 中是否有任何内置函数来获取列的总和。
只是一个简单的例子
CREATE TABLE sample_table (a INTEGER, b REAL);
INSERT INTO sample_table (a, b) VALUES (5, 7.22);
INSERT INTO sample_table (a, b) VALUES (5, 5.6);
INSERT INTO sample_table (a, b) VALUES (1, 23.5);
INSERT INTO sample_table (a, b) VALUES (1, 2.2)
现在假设我想得到 'b' 的所有值的总和,其中 a = 5 我该怎么做?
【问题讨论】:
【参考方案1】:SELECT sum(b)
FROM sample_data
WHERE a = 5
您还可以使用 group by 来获取 a 的不同值的列表以及与每个 a 对应的 b 的总和:
SELECT a, sum(b)
FROM sample_data
GROUP BY a
【讨论】:
【参考方案2】:我认为只是
SELECT SUM(b) FROM sample_table WHERE a = 5;
您可以在这里了解所有 Postgres 聚合函数:
http://www.postgresql.org/docs/current/static/functions-aggregate.html
【讨论】:
以上是关于postgresql 计算结果集的总和的主要内容,如果未能解决你的问题,请参考以下文章
Postgres 每小时按数据分组,然后找到 max 和 min createdAt 的时间差并计算它们的总和
如何计算 Postgresql 中特定日期最后 7 行的累积总和?