select colB,
MAX(COLA) AS COLA1,
MIN(COLA) AS COLA2,
SUM(COLA+COLC) AS SUMAC
FROM TABLE_A
GROUP BY COLB;
이 쿼리는 `TABLE_A`라는 테이블에서 데이터를 선택하고, `COLB` 열을 기준으로 그룹화하여 집계된 결과를 반환합니다. 각 집계 함수는 `COLA`와 `COLC` 열의 값을 계산합니다.
### 쿼리의 주요 구성 요소
```sql
SELECT COLB,
MAX(COLA) AS COLA1,
MIN(COLA) AS COLA2,
SUM(COLA + COLC) AS SUMAC
FROM TABLE_A
GROUP BY COLB;
```
- **`SELECT COLB`**: `COLB` 열을 선택하여 결과에 포함합니다. 이 열을 기준으로 데이터를 그룹화합니다.
- **`MAX(COLA) AS COLA1`**: 그룹별로 `COLA` 열의 최대값을 계산하고, 결과에서 이 열을 `COLA1`이라는 별칭으로 나타냅니다.
- **`MIN(COLA) AS COLA2`**: 그룹별로 `COLA` 열의 최소값을 계산하고, 결과에서 이 열을 `COLA2`라는 별칭으로 나타냅니다.
- **`SUM(COLA + COLC) AS SUMAC`**: 그룹별로 `COLA`와 `COLC` 열의 합을 계산한 후, 그 결과를 모두 합산하여 `SUMAC`이라는 별칭으로 나타냅니다.
- **`FROM TABLE_A`**: `TABLE_A` 테이블에서 데이터를 가져옵니다.
- **`GROUP BY COLB`**: `COLB` 열의 값에 따라 데이터를 그룹화합니다. 같은 `COLB` 값을 가진 행들이 하나의 그룹으로 묶여, 그 그룹 내에서 `MAX`, `MIN`, `SUM` 등의 집계 함수가 계산됩니다.
### 쿼리의 결과
이 쿼리는 다음과 같은 결과를 반환합니다:
- `COLB` 열의 각 고유 값에 대해:
- **`COLA1`**: 그 그룹 내에서 `COLA` 열의 최대값.
- **`COLA2`**: 그 그룹 내에서 `COLA` 열의 최소값.
- **`SUMAC`**: 그 그룹 내에서 `COLA`와 `COLC`의 합을 구한 뒤, 그 합을 모두 더한 값.
### 예시
예를 들어, `TABLE_A`의 데이터가 다음과 같다고 가정해봅시다:
| COLB | COLA | COLC |
|------|------|------|
| A | 10 | 5 |
| A | 20 | 15 |
| B | 30 | 10 |
| B | 40 | 20 |
| A | 15 | 10 |
이 쿼리의 실행 결과는 다음과 같습니다:
| COLB | COLA1 | COLA2 | SUMAC |
|------|-------|-------|-------|
| A | 20 | 10 | 75 |
| B | 40 | 30 | 100 |
### 설명:
- `COLB = A`:
- `COLA1 = MAX(20, 10, 15) = 20`
- `COLA2 = MIN(20, 10, 15) = 10`
- `SUMAC = SUM((10+5) + (20+15) + (15+10)) = 75`
- `COLB = B`:
- `COLA1 = MAX(30, 40) = 40`
- `COLA2 = MIN(30, 40) = 30`
- `SUMAC = SUM((30+10) + (40+20)) = 100`
이러한 집계 결과는 각 `COLB` 값에 대해 그룹화된 집계 정보를 제공합니다.
'Data Analysis 데이터 분석 > SQL 통한 Database 관리' 카테고리의 다른 글
rollback to savepoint (0) | 2024.08.29 |
---|---|
update set (0) | 2024.08.29 |
groupby 가 어떻게 실행되는지 예시로 알려줘 (0) | 2024.08.29 |
group by할 열에 null이 있을 경우 (0) | 2024.08.29 |
group by의 기준이 되는 칼럼이 아닌 다른 칼럼에서 null 있으면? (1) | 2024.08.29 |