>데이터 베이스 >MySQL 튜토리얼 >SQL은 구조화되지 않은 텍스트 데이터에서 성적 백분율 분포를 어떻게 계산할 수 있습니까?

SQL은 구조화되지 않은 텍스트 데이터에서 성적 백분율 분포를 어떻게 계산할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-17 04:01:09457검색

How Can SQL Calculate Grade Percentage Distributions from Unstructured Text Data?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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