在 Group By 查詢中使用條件求和 - MSSQL
Freddie 需要一個 SQL 查詢來根據特定條件匯總表資料。原始表 OrderDetails 包含四個欄位,表示與特定訂單 (OrderId) 相關的成本。目標是建立一個包含五列的新表:OrderId、ItemCount、TotalCopyCost 和 TotalFullPrice。
為了得到所需的結果,使用了 Group By 和 CASE 語句的組合。 Group By 用來依 OrderId 分組數據,而 CASE 語句則根據 PriceType 欄位有條件地對 CopyCost 和 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 對OrderDetails 表進行分組,計算每個組中的項目數量,並有條件地對每個組的CopyCost 和FullPrice 值求和,從而產生一個具有所需模式的新表。
以上是如何計算分組 SQL 查詢 (MSSQL) 中的條件總和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!