이 문서는 지원되지 않는 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어디에서그리고가지고 있는 중절. 의 근본적인 차이점어디그리고가지고 있는 중이것은:어디그룹 앞의 입력 행을 선택하고 토토 사이트가 계산됩니다(따라서 어떤 행이 토토 사이트 계산), 반면하빙그룹 및 토토 사이트가 계산된 후 그룹 행을 선택합니다. 따라서,어디절은 다음을 포함할 수 없습니다. 토토 사이트 함수; 집계를 사용하는 것은 의미가 없습니다. 집계에 대한 입력이 될 행을 결정합니다. 에 반면에가지고 있는 중절 항상 토토 사이트 함수가 포함되어 있습니다. (엄밀히 말하면 허용됩니다. 글을 쓰다가지고 있는 중사용하지 않는 절 토토 사이트되지만 거의 유용하지 않습니다. 같은 조건이 될 수도 있어요 더 효율적으로 사용됨어디단계.)

이전 예에서는 도시 이름 제한을 적용할 수 있습니다 에서어디, 집계가 필요하지 않기 때문입니다. 이는 다음에 제한을 추가하는 것보다 더 효율적입니다.가지고 있는 중, 그룹화를 피하고 실패하는 모든 행에 대한 토토 사이트 계산어디확인.