SQL을 사용하여 구조화되지 않은 데이터에서 등급 백분율을 효율적으로 계산
데이터베이스에서 무료 텍스트로 등급을 저장하면 등급 백분율 분포를 계산할 때 문제가 발생합니다. 이 기사는 사전 정의 된 등급 값이 없어도 모든 등급에 대해 이러한 백분율을 계산할 수있는 SQL 솔루션을 제공합니다.
백분율 계산에 대한 SQL 쿼리
이 SQL 쿼리는 고유 한 등급 값에 따른 효율적인 백분율 계산을 위해 Over ()
함수를 활용합니다.
SELECT Grade, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER ()
FROM MyTable
GROUP BY Grade;
Over ()
함수는 전체 테이블 전체의 총 행 카운트를 계산하여 가능한 모든 등급을 지정할 필요없이 백분율 계산을 가능하게합니다.
대체 SQL 쿼리 ( over ()
함수가없는 데이터베이스의 경우)
over ()
함수가없는 데이터베이스의 경우이 대체 쿼리는 하위 쿼리를 사용합니다 :
SELECT Grade, COUNT(*) * 100.0 / (SELECT COUNT(*) FROM MyTable)
FROM MyTable
GROUP BY Grade;
이 접근법은 하위 쿼리를 사용하여 총 행 카운트를 얻은 다음 백분율을 계산합니다.
중요한 참고 : 이 솔루션은 등급 데이터가 단일 문자 값 (예 : 'a', 'b', 'c')으로 저장 될 때 백분율을 정확하게 계산합니다. 구조화되지 않은 텍스트 내에서 더 복잡한 등급 형식은 이러한 SQL 쿼리를 적용하기 전에 등급 값을 추출하기 위해 전처리해야합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3