대부분과 마찬가지로PostgreSQL집계 함수를 지원합니다. ancount
, Sum
, avg
(평균),max
(최대) 및Min
(최소) 세트
예를 들어, 우리는 가장 높은 온도 판독 값을 찾을 수 있습니다.
날씨에서 MAX (TEMP_LO)를 선택하십시오;
MAX
emp_lo = max (temp_lo); 날씨에서 도시를 선택하십시오.잘못된
그러나 이것은 윈 토토 이후로 작동하지 않습니다max
여기서절. (이 제한은이기 때문에 존재합니다.여기서절은 행을 결정합니다서브 쿼리:
날씨에서 도시를 선택하십시오
도시
하위 선택이 독립적이기 때문에 괜찮습니다
윈 토토는 또한와 함께 매우 유용합니다그룹 by조항. 예를 들어, 우리는 할 수 있습니다
City, Max (Temp_lo) 선택
도시 | 맥스
도시 당 하나의 출력 행을 제공합니다. 각 집계 결과:
City, Max (Temp_lo) 선택
도시 | 맥스
temp_lo40 미만의 값. 마지막으로, if"S", 우리는 할 수 있습니다
City, Max (Temp_lo) 선택
사이의 상호 작용을 이해하는 것이 중요합니다SQL's여기서및조항. 의 근본적인 차이여기서및이것은 다음과 같습니다.여기서그룹 및 윈 토토가 계산되기 전에 입력 행을 선택합니다그 후 그룹 행을 선택합니다여기서조항은 윈 토토 함수를 포함해서는 안됩니다.조항에는 항상 윈 토토가 포함되어 있습니다사용하지 않는 조항여기서Stage.)
우리가 도시 이름 제한을 적용 할 수 있는지 관찰하십시오여기서, 윈 토토가 필요하지 않기 때문입니다. 이것, 우리는 그룹화를 피하기 때문에여기서check.