이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.43토토6463버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

2.7. 스포츠 토토 베트맨 함수

대부분처럼 기타 관계형 데이터베이스 제품,포스트그레SQL집계 함수를 지원합니다. 안 집계 함수는 여러 입력에서 단일 결과를 계산합니다. 행. 예를 들어, 다음을 계산하는 집계가 있습니다.개수, 합계, 평균(평균),최대(최대) 및(최소) 세트 이상 행.

예를 들어, 우리는 가장 높은 저온 수치를 찾을 수 있습니다 어디서나

날씨에서 최대(temp_lo)를 선택하세요.
최대
-----
  46
(1행)

우리가 무엇을 알고 싶다면 독서가 발생한 도시(또는 여러 도시)를 시도해 볼 수 있습니다.

날씨가 있는 도시를 선택하세요. temp_lo = max(temp_lo);잘못됨

그러나 이것은 스포츠 토토 베트맨 이후에는 작동하지 않습니다최대다음에서는 사용할 수 없습니다.어디절. (이 제한사항은 다음과 같은 이유로 존재합니다.어디절은 다음 행을 결정합니다. 집계 단계로 들어갑니다. 그래서 평가받아야지 집계 함수가 계산되기 전입니다.) 그러나 종종 그렇듯이 의도한 바를 달성하기 위해 쿼리를 다시 작성할 수 있는 경우 결과는 여기에서 a를 사용하여하위 쿼리:

날씨에서 도시를 선택하세요
    WHERE temp_lo = (날씨에서 최대(temp_lo) 선택);
도시
---------------
 샌프란시스코
(1행)

하위 쿼리는 독립적인 계산이므로 괜찮습니다. 현재 일어나고 있는 일과 별도로 자체 집계를 계산합니다. 외부 쿼리에서.

집계는 다음과 결합하여 매우 유용합니다.그룹별절. 예를 들어, 우리는 다음을 사용하여 각 도시에서 관찰된 최대 저온을 얻습니다.

도시 선택, 최대(temp_lo)
    날씨로부터
    도시별로 그룹화;
도시 | 최대
---------------+-----
 헤이워드 |  37
 샌프란시스코 |  46
(2행)

도시당 하나의 출력 행을 제공합니다. 각 집계 결과 해당 도시와 일치하는 테이블 행에 대해 계산됩니다. 우리는 필터링할 수 있습니다 다음을 사용하여 그룹화된 행가지고 있는:

도시 선택, 최대(temp_lo)
    날씨로부터
    도시별 그룹
    최대(temp_lo) < 40;
도시 | 최대
---------+-----
 헤이워드 |  37
(1행)

이는 다음이 있는 도시에 대해서만 동일한 결과를 제공합니다. 모두temp_lo값이 40보다 작습니다. 마지막으로, 우리는 이름이 다음으로 시작하는 도시에만 관심이 있습니다."S", 그럴 수도 있겠네요

도시 선택, 최대(temp_lo)
    날씨로부터
    도시가 'S%'와 같은 곳(1)도시별 그룹
    최대(temp_lo) < 40;
(1)
좋아요연산자가 패턴을 수행합니다. 일치하는 내용은 다음에서 설명됩니다.섹션 9.7.

사이의 상호작용을 이해하는 것이 중요합니다. 스포츠 토토 베트맨 및SQL's어디그리고하빙절. 의 근본적인 차이점어디그리고가지고 있는 중이것은:어디그룹 및 스포츠 토토 베트맨가 계산되기 전에 입력 행을 선택합니다. (따라서 스포츠 토토 베트맨 계산에 포함될 행을 제어합니다) 반면가지고 있는 중다음 그룹 행 선택 그룹과 집계가 계산됩니다. 따라서,어디절에는 스포츠 토토 베트맨 함수가 포함되어서는 안 됩니다. 어떤 것을 결정하기 위해 스포츠 토토 베트맨를 사용하는 것은 의미가 없습니다. 행은 스포츠 토토 베트맨에 대한 입력이 됩니다. 반면에가지고 있는 중절에는 항상 집계가 포함됩니다. 기능. (엄밀히 말하면 다음과 같이 작성할 수 있습니다.하빙사용하지 않는 절 스포츠 토토 베트맨되었지만 낭비입니다. 동일한 조건을 사용할 수 있습니다. 보다 효율적으로어디단계.)

이전 예에서는 도시 이름을 적용할 수 있습니다 제한어디에서, 필요하지 않기 때문에 골재. 이는 다음에 제한을 추가하는 것보다 더 효율적입니다.가지고 있는 중, 왜냐하면 우리는 실패한 모든 행에 대한 계산을 그룹화하고 스포츠 토토 베트맨합니다.어디확인하세요.