>데이터 베이스 >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>

이 쿼리는 OrderId별로 OrderDetails 테이블을 효과적으로 그룹화하고, 각 그룹의 항목 수를 계산하고, 각 그룹의 CopyCost 및 FullPrice 값을 조건부로 합산하여 원하는 스키마를 가진 새 테이블을 생성합니다.

위 내용은 그룹화된 SQL 쿼리(MSSQL) 내에서 조건부 합계를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.