首頁 >資料庫 >mysql教程 >如何計算分組 SQL 查詢 (MSSQL) 中的條件總和?

如何計算分組 SQL 查詢 (MSSQL) 中的條件總和?

Patricia Arquette
Patricia Arquette原創
2025-01-08 06:48:40803瀏覽

How to Calculate Conditional Sums within a Grouped SQL Query (MSSQL)?

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn