집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL에서 조건부 발생을 효율적으로 계산하려면 어떻게 해야 합니까?
PostgreSQL 조건 계산: 최적화 방법
데이터베이스 테이블의 데이터 발생 횟수를 계산할 때 조건문이 길어질 수 있습니다. 다행히 PostgreSQL은 편리하고 효율적인 솔루션을 제공합니다.
FILTER 집계 옵션
PostgreSQL 9.4 이상의 경우 최고의 효율성을 위해 FILTER 집계 옵션을 활용하세요.
<code class="language-sql">SELECT category , count(*) FILTER (WHERE question1 = 0) AS zero , count(*) FILTER (WHERE question1 = 1) AS one , count(*) FILTER (WHERE question1 = 2) AS two FROM reviews GROUP BY 1;</code>
간결한 구문
단순함이 최우선인 경우:
<code class="language-sql">SELECT category , count(question1 = 0 OR NULL) AS zero , count(question1 = 1 OR NULL) AS one , count(question1 = 2 OR NULL) AS two FROM reviews GROUP BY 1;</code>
크로스탭 쿼리
대규모 옵션 목록을 처리하고 더 높은 성능을 추구하려면 crosstab() 함수 사용을 고려하세요.
<code class="language-sql">SELECT * FROM crosstab( 'SELECT category, question1, count(*) AS ct FROM reviews GROUP BY 1, 2 ORDER BY 1, 2' , 'VALUES (0), (1), (2)' ) AS ct (category text, zero int, one int, two int);</code>
위 내용은 PostgreSQL에서 조건부 발생을 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!