我正在使用 SQL 查询来计算每个客户订购的产品总数。目标是返回每个唯一客户的订购数量总和以及客户 ID,并将总和标记为“总订购量”。
这是我的 dbo.ProductOrders 表的结构:
CREATE TABLE dbo.ProductOrders (
POID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
ProductId INT NOT NULL,
CustomerId INT NOT NULL,
OrderedQuantity INT,
-- Additional fields...
);
-- Sample data insertion
我当前的查询是:
SELECT CustomerId, OrderedQuantity
FROM dbo.ProductOrders;
此查询列出所有订单,包括多次出现相同客户 ID 且订单数量不同的订单。如何修改此查询以仅显示唯一的客户 ID 及其总订购数量?
聚合每个唯一客户的总数量的正确 SQL 语法是什么?
SQL 中是否有特定的函数或技术来汇总按唯一标识符分组的值?
我特别在查询的聚合和分组部分上苦苦挣扎。
只是
group by
和sum
:
select customerID, sum(OrderedQuantity) total_ordered
from productOrders
group by customerID
如果按客户 ID 进行分组,出现的次数并不重要。
这是解决方案。
SELECT customerID, SUM(OrderedQuantity) as "Total Ordered"
FROM productOrders
GROUP BY customerID