【发布时间】:2021-11-30 12:52:21
【问题描述】:
我正在编写一个 SQL 查询来从 northwind.orders 创建一个名为 orders_years 的新表,显示在 1996 年、1997 年和 1998 年每个(不同的)客户下了多少订单。我还将结果分组customer_id 并按 customer_id 对它们进行排序,在运行下面的代码时,它给了我一个错误,说 FROM 中的函数中不允许使用聚合函数 第 2 行:求和
-- 创建新表orders_years:
SELECT customer_id FROM northwind.orders,
SUM (CASE
WHEN EXTRACT(YEAR FROM order_date) = 1996 THEN 1 ELSE 0
END) AS orders_96,
SUM(CASE
WHEN EXTRACT(YEAR FROM order_date) = 1997 THEN 1 ELSE 0
END) AS orders_97,
SUM(CASE
WHEN EXTRACT(YEAR FROM order_date) = 1998 THEN 1 ELSE 0
END) AS orders_98;
SELECT orders_years FROM northwind.orders
GROUP BY customer_id
ORDER BY customer_id;
【问题讨论】:
标签: python mysql sql postgresql