집 >데이터 베이스 >MySQL 튜토리얼 >그룹화된 SQL 쿼리(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 중국어 웹사이트의 기타 관련 기사를 참조하세요!