집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 특정 조건을 충족하는 레코드 수를 계산하고 백분율을 계산하는 방법은 무엇입니까?
SQL Server의 조건부 계산 및 WHERE 절
SQL Server에서는 COUNT()
절과 결합된 WHERE
집계 함수를 사용하여 특정 조건을 충족하는 레코드 수를 계산할 수 있습니다.
다음 예제의 목표는 MyColumn
값이 1인 레코드 수를 계산하는 것입니다. 수정된 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT UID, COUNT(UID) AS TotalRecords, SUM(ContractDollars) AS ContractDollars, (SELECT COUNT(*) FROM dbo.AD_CurrentView AS Sub WHERE Sub.UID = Outer.UID AND Sub.MyColumn = 1) * 100.0 / COUNT(UID) AS PercentageOfOne FROM dbo.AD_CurrentView AS Outer GROUP BY UID HAVING SUM(ContractDollars) >= 500000</code>
다음은 쿼리 단계를 분류한 것입니다.
MyColumn
= 1)을 충족하는 각 UID 그룹의 레코드 수를 계산하는 하위 쿼리를 만듭니다. UID
열을 사용하여 기본 쿼리를 하위 쿼리와 결합합니다. MyColumn
가 1인 레코드의 비율을 계산합니다. 부동 소수점 나누기를 보장하고 더 정확한 백분율 결과를 얻기 위해 제수 100
가 100.0
로 변경되었습니다. PercentageOfOne
열에 적용합니다. 이 수정된 쿼리는 백분율 계산에 100.0
대신 100
을 사용하여 잠재적인 정수 나누기 문제를 피하고 보다 정확한 부동 소수점 결과를 보장합니다.
위 내용은 SQL Server에서 특정 조건을 충족하는 레코드 수를 계산하고 백분율을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!