我有2张桌子
sales table
weekly sales, store, date
store table
store, type, size
我的销售表具有多年的历史,多个商店和多种类型。我正在尝试获取每种商店每年的平方英尺平均销售量。我有一个子查询,按平方英尺显示每个商店的销售额,但是我有麻烦,然后将其汇总到我的主查询中以按类型获取平均值
我的最终查询中没有任何内容吗?
SELECT
date_part('year', sales.date) AS year,
stores.type,
AVG(sales_by_sqft)
FROM
(SELECT
SUM((sales.weekly_sales)/stores.size) AS sales_by_sqft
FROM SALES
INNER JOIN stores ON sales.store = stores.store
GROUP BY sales.store) AS sq
FROM sales
INNER JOIN stores ON sales.store = stores.store
WHERE date_part('year', date) = 2012
GROUP BY year, stores.type;
在第二个FROM语句上获取语法错误
答案 0 :(得分:0)
我知道了。 AVG不能赚钱。一旦我将数据类型更改为整数,所有数据就位
SELECT
year,
type,
ROUND(AVG(sales_by_sqft),2)AS avg_sales_by_sqft
FROM
(SELECT
date_part('year', sales.date) AS year,
stores.type,
sales.store,
stores.size,
SUM(sales.weekly_sales) AS total_sales,
SUM(sales.weekly_sales)/ AVG(stores.size) AS sales_by_sqft
FROM sales
INNER JOIN stores ON sales.store = stores.store
GROUP BY year, stores.type, sales.store, stores.size) AS sq
GROUP BY 1,2
ORDER BY 1,3 DESC;