在 MSSQL 分组查询中进行条件求和
在 SQL Server 的 OrderDetails 表中,每个订单项都有一个唯一的 OrderId,以及相关的成本 (CopyCost、FullPrice) 和价格类型 (PriceType)。目标是创建一个包含三列的汇总表:OrderId、ItemCount、TotalCopyCost 和 TotalFullPrice,其中 ItemCount 是每个订单的项目数量,TotalCopyCost 是每个订单的 CopyCost 值之和,TotalFullPrice 是每个订单的 FullPrice 值之和。
为此,可以使用带有条件求和的分组查询:
<code class="language-sql">SELECT OrderId, COUNT(*) AS ItemCount, SUM(CASE WHEN PriceType = 'CopyCost' THEN Price ELSE 0 END) AS TotalCopyCost, SUM(CASE WHEN PriceType = 'FullPrice' THEN Price ELSE 0 END) AS TotalFullPrice FROM OrderDetails GROUP BY OrderId</code>
在此查询中:
通过使用条件求和,查询有效地计算每个订单的总成本和全价,并按 OrderId 对结果进行分组。生成的汇总表提供了原始数据的综合视图,使分析订单相关费用更容易。
以上是如何在 MSSQL 中通过查询计算分组内的条件总和?的详细内容。更多信息请关注PHP中文网其他相关文章!