집 >데이터 베이스 >MySQL 튜토리얼 >단일 SQL SELECT 문에서 두 열 사이의 일치하는 값의 백분율을 계산하는 방법은 무엇입니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!