집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 일치하는 행의 백분율을 효율적으로 계산하는 방법은 무엇입니까?
PostgreSQL 쿼리 내 SUM()의 백분율 계산
쿼리 이해
The 제공된 쿼리는 value_a 및 value_b가 있는 행의 비율을 계산하는 것을 목표로 합니다. my_obj 테이블은 동일합니다. 하지만 Compute_percent 저장 프로시저에서 참조하는 nb_ok 열이 존재하지 않아 오류가 발생합니다.
Optimized Solution
이 문제를 해결하려면 다음을 고려하세요. 더 효율적인 접근 방식:
SELECT property_name, (COUNT(value_a = value_b OR NULL) * 100) / COUNT(*) AS pct FROM my_obj GROUP BY property_name;
설명
이 쿼리:
소수 포함
결과에서 소수를 유지하려면 다음 수정된 쿼리를 사용하세요.
SELECT property_name, ROUND((COUNT(value_a = value_b OR NULL) * 100.0) / COUNT(*), 2) AS pct FROM my_obj GROUP BY property_name;
이것은 버전은 ROUND(...)를 사용하여 백분율을 소수점 이하 두 자리로 반올림합니다.
위 내용은 PostgreSQL에서 일치하는 행의 백분율을 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!