Postgres:获取每个与另一列不同的列的所有值的平均值

时间:2014-04-16 20:30:08

标签: sql postgresql

我有一张表格如下:

sku | qty
----|----
sku1|  1
sku1|  3
sku1|  1
sku1|  3
sku2|  1

我正在尝试编写一个查询,该查询将返回每个不同qty的{​​{1}}的平均值。 因此,对于上面的数据,查询的输出将如下所示:

sku

因此,sku | qty ----|---- sku1| 2 sku2| 1 的平均值来自sku11 3 1 3的平均值仅为sku2

我知道它会涉及某种子查询,但我似乎无法弄明白。

1

如何查询每个sku的平均数量?

1 个答案:

答案 0 :(得分:6)

这正是group by的用途:

SELECT sku, AVG(qty)
FROM the_table
GROUP BY sku;

本手册有一些例子:http://www.postgresql.org/docs/current/static/queries-table-expressions.html#QUERIES-GROUP