gpt4 book ai didi

sql - Group By 查询中的条件总和 MSSQL

转载 作者:行者123 更新时间:2023-12-03 12:00:49 24 4
gpt4 key购买 nike

我有一个具有以下架构的表 OrderDetails:

----------------------------------------------------------------
| OrderId | CopyCost | FullPrice | Price | PriceType |
----------------------------------------------------------------
| 16 | 50 | 100 | 50 | CopyCost |
----------------------------------------------------------------
| 16 | 50 | 100 | 100 | FullPrice |
----------------------------------------------------------------
| 16 | 50 | 100 | 50 | CopyCost |
----------------------------------------------------------------
| 16 | 50 | 100 | 50 | CopyCost |
----------------------------------------------------------------

我需要一个查询,将上表推测为具有以下架构的新表:
----------------------------------------------------------------
| OrderId | ItemCount | TotalCopyCost | TotalFullPrice |
----------------------------------------------------------------
| 16 | 4 | 150 | 100 |
----------------------------------------------------------------

目前我在 Order.Id 上使用 Group By 来计算项目数。但我不知道如何有条件地推测 CopyCost 和 FullPrice 值。

任何帮助将非常感激。

问候
房地美

最佳答案

尝试

SELECT OrderId, 
COUNT(*) ItemCount,
SUM(CASE WHEN PriceType = 'CopyCost' THEN Price ELSE 0 END) TotalCopyCost,
SUM(CASE WHEN PriceType = 'FullPrice' THEN Price ELSE 0 END) TotalFullPrice
FROM OrderDetails
GROUP BY OrderId

SQLFiddle

关于sql - Group By 查询中的条件总和 MSSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16517298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com