SQL 查询聚合每个唯一客户 ID 订购的总数量

问题描述 投票:0回答:2

我正在使用 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 中是否有特定的函数或技术来汇总按唯一标识符分组的值?

我特别在查询的聚合和分组部分上苦苦挣扎。

sql sql-server sum aggregate-functions
2个回答
2
投票

只是

group by
sum

select customerID, sum(OrderedQuantity) total_ordered
from productOrders
group by customerID

1
投票

如果按客户 ID 进行分组,出现的次数并不重要。

这是解决方案。

SELECT customerID, SUM(OrderedQuantity) as "Total Ordered"
FROM productOrders
GROUP BY customerID
© www.soinside.com 2019 - 2024. All rights reserved.