我有一张看起来像的表:
sku | qty
----|----
sku1| 1
sku1| 3
sku1| 1
sku1| 3
sku2| 1
我正在尝试编写一个查询,该查询将为每个不同的
qty
返回 sku
的平均值。因此,对于上面的数据,查询的输出将如下所示:
sku | qty
----|----
sku1| 2
sku2| 1
所以,
sku1
的平均值来自 1 3 1 3
而 sku2
的平均值就是 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/