ホームページ >データベース >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) に関連付けられたコストを表す 4 つの列が含まれています。目標は、OrderId、ItemCount、TotalCopyCost、TotalFullPrice の 5 つの列を持つ新しいテーブルを作成することです。

望ましい結果を得るには、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>

このクエリは、OrderDetails テーブルを OrderId で効果的にグループ化し、各グループ内の項目数をカウントし、各グループの CopyCost 値と FullPrice 値を条件付きで合計し、目的のスキーマを持つ新しいテーブルを生成します。

以上がグループ化された SQL クエリ (MSSQL) 内の条件付き合計を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。