Northwind SQL 每个客户的订单总数

Northwind SQL total orders per customer

我已将 TotalOrders 列添加到 Customers table。

ALTER TABLE customers ADD TotalOrders INT NULL

我正在尝试查找每个客户的订单总数并将该值添加到此列,但是我无法弄清楚我需要准确地求和什么

INSERT INTO customers (TotalOrders) SELECT SUM(...)
INSERT INTO customers (TotalOrders) 
VALUES(SELECT SUM(Orders.Total)  
FROM Orders INNER JOIN Customers ON Orders.CustomerId=
Customer.Id Group By  Customer.Id) WHERE Customer.Id =Orders.CustomerId

我认为您应该在这里使用 更新。您可以在 orders table 中汇总每个客户的订单总数,然后使用此信息更新 customers table。

UPDATE t1
SET TotalOrders = t2.TotalOrders
FROM customers t1
INNER JOIN
(
    SELECT CustomerID, COUNT(*) AS TotalOrders
    FROM orders
    GROUP BY CustomerID
) t2
    ON t1.CustomerID = t2.CustomerID