>데이터 베이스 >MySQL 튜토리얼 >단일 SQL SELECT 문에서 두 열 사이의 일치하는 값의 백분율을 계산하는 방법은 무엇입니까?

단일 SQL SELECT 문에서 두 열 사이의 일치하는 값의 백분율을 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-28 19:58:10303검색

How to Calculate the Percentage of Matching Values Between Two Columns in a Single SQL SELECT Statement?

SQL의 단일 SELECT 문 내 SUM()에서 백분율 계산

2개의 정수 필드('value_a')가 포함된 'my_obj' 테이블의 컨텍스트에서 및 'value_b'), 'value_a'가 동일한 인스턴스의 비율을 확인하려고 합니다. 'value_b'.

간단하고 효율적인 방법

최적의 성능과 단순성을 위해 다음 수정된 쿼리를 고려하세요.

SELECT property_name
      ,(count(value_a = value_b OR NULL) * 100) / count(*) AS pct
FROM   my_obj
GROUP  BY 1;

이것은 접근 방식은 'count()' 기능을 활용하여 'NULL' 값을 무시하여 두 열이 모두 고려되도록 합니다. 일치하는 값의 개수에 100을 곱하고 전체 개수로 나누어 백분율이 계산됩니다.

소수점 포함

소수점이 필요한 경우 결과적으로 계산에 '100' 대신 '100.0'을 사용하고 사용을 고려하십시오. 'round()':

SELECT property_name
      ,round((count(value_a = value_b OR NULL) * 100.0) / count(*), 2) AS pct
FROM   my_obj
GROUP  BY 1;

이 개정 버전에서는 계산이 숫자로 유지되어 분수 값이 보존되고 보고된 백분율의 정밀도가 더 높아졌습니다.

위 내용은 단일 SQL SELECT 문에서 두 열 사이의 일치하는 값의 백분율을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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