SQL을 활용하여 비정형 데이터로부터 효율적으로 성적 백분율 계산
성적을 데이터베이스에 자유 텍스트로 저장하면 성적 백분율 분포를 계산할 때 문제가 발생합니다. 이 기사에서는 사전 정의된 성적 값 없이도 모든 성적에 대해 이러한 백분율을 계산할 수 있는 SQL 솔루션을 제공합니다.
백분율 계산을 위한 SQL 쿼리
이 SQL 쿼리는 고유한 성적 값에 대한 효율적인 백분율 계산을 위해 over()
함수를 활용합니다.
<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () FROM MyTable GROUP BY Grade;</code>
over()
함수는 전체 표의 총 행 수를 계산하므로 가능한 모든 성적을 지정하지 않고도 백분율 계산이 가능합니다.
대체 SQL 쿼리(over()
함수가 없는 데이터베이스의 경우)
over()
기능이 없는 데이터베이스의 경우 이 대체 쿼리는 하위 쿼리를 사용합니다.
<code class="language-sql">SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable) FROM MyTable GROUP BY Grade;</code>
이 접근 방식은 하위 쿼리를 사용하여 총 행 수를 얻은 다음 백분율을 계산합니다.
중요 사항: 이러한 솔루션은 성적 데이터가 단일 문자 값(예: 'A', 'B', 'C')으로 저장될 때 백분율을 정확하게 계산합니다. 구조화되지 않은 텍스트 내의 더 복잡한 성적 형식에는 이러한 SQL 쿼리를 적용하기 전에 성적 값을 추출하기 위한 전처리가 필요합니다.
위 내용은 SQL은 구조화되지 않은 텍스트 데이터에서 성적 백분율 분포를 어떻게 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!