속성이 a1
, a2
, ... 등인 테이블 Tab1
이 있다고 가정합니다. 속성 중 유일하지 않은 속성입니다.GROUP BY는 어떻게 작동합니까?
다음 쿼리의 본질은 무엇입니까? 항상 한 행을 반환합니까?
SELECT a1, a2, sum(a3) FROM Tab1 GROUP BY a1, a2
속성이 a1
, a2
, ... 등인 테이블 Tab1
이 있다고 가정합니다. 속성 중 유일하지 않은 속성입니다.GROUP BY는 어떻게 작동합니까?
다음 쿼리의 본질은 무엇입니까? 항상 한 행을 반환합니까?
SELECT a1, a2, sum(a3) FROM Tab1 GROUP BY a1, a2
GROUP BY
은 GROUP BY
필드의 고유 한 조합마다 하나의 행을 반환합니다. 따라서 예에서 Tab1
행에 나타나는 (a1, a2)
의 모든 고유 조합은 필드 값에 따라 그룹화 된 조합으로 행 그룹을 나타내는 행을 결과로 생성합니다. SUM()
과 같은 집계 함수는 각 그룹의 구성원에 대해 계산됩니다.
GROUP BY
반환 GROUP BY
절에있는 필드의 고유 한 각 조합에 대한 하나의 행. 단 하나의 행을 보장하려면 COUNT
, SUM
, MAX
- GROUP BY
절없이 집계 함수를 사용해야합니다.
GROUP BY
그룹이 모두 동일한 레코드입니다.
SELECT COUNT(ItemID), City
FROM Orders
GROUP BY City;
----------------------------------------
13 Sacrmento
23 Dallas
87 Los Angeles
5 Phoenix
는 City
그룹화하지 않으면 그냥 ItemID
의 총 수를 표시합니다.
a1과 a2의 고유 조합 (또는 그룹) 당 하나의 행을 반환합니다. 고유 조합이 하나만있는 경우 한 행만 얻습니다. –
그리고 합계는 얼마나 많은 행이 각 그룹에서 끝났는지를 알려줄 것입니다. =) – jadarnel27