我有一张看起来像的表:

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

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

所以,sku1 的平均值来自 1 3 1 3sku2 的平均值就是 1
我知道它会涉及某种子查询,但我似乎无法弄清楚。
SELECT sku, AVG(qty)
FROM (SELECT DISTINCT sku FROM table)

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

最佳答案

这正是 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

关于sql - Postgres : get average for all values of a column for each distinct from another column,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23119529/

10-11 08:40