집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server 테이블에서 값의 백분율을 계산하는 방법은 무엇입니까?
SQL Server 백분율 계산: 세 가지 접근 방식
이 가이드에서는 SQL Server 테이블 내 값의 백분율을 계산하는 세 가지 효과적인 방법을 보여줍니다. 각 방법은 동일한 결과를 달성하며 선호도와 데이터베이스 구조에 따라 유연성을 제공합니다.
방법 1: 창 기능 효율성
이 접근 방식은 간결하고 효율적인 솔루션을 위해 OVER()
창 기능을 활용합니다.
<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER() AS Percentage FROM MyTable GROUP BY Grade;</code>
OVER()
절은 모든 행의 총 개수를 계산하여 백분율 계산의 직접적인 기초를 제공합니다.
방법 2: 보편적 접근 방식
다양한 SQL 방언에 적합한 보다 간단한 방법은 하위 쿼리를 사용하는 것입니다.
<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable) AS Percentage FROM MyTable GROUP BY Grade;</code>
각 등급의 개수를 하위 쿼리에서 얻은 전체 행 개수로 직접 나눕니다.
방법 3: 공통 테이블 표현식(CTE)
가독성과 모듈성을 향상시키기 위해 CTE를 사용할 수 있습니다.
<code class="language-sql">WITH GradeCounts AS ( SELECT Grade, COUNT(*) AS GradeCount FROM MyTable GROUP BY Grade ) SELECT Grade, GradeCount * 100.0 / (SELECT SUM(GradeCount) FROM GradeCounts) AS Percentage FROM GradeCounts;</code>
CTE는 먼저 각 등급의 개수를 계산한 다음 기본 쿼리는 CTE에서 파생된 총 개수를 사용하여 백분율을 계산합니다.
세 가지 방법 모두 동일한 출력 형식을 생성합니다.
<code>Grade | Percentage ------------------ A | 5% B | 15% C | 40% D | 40%</code>
위 내용은 SQL Server 테이블에서 값의 백분율을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!