다음 SQL 결과에서 구분 값이 '소계'인 행 수와 '미분류'인 행 수… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
다음 SQL 결과에서 구분 값이 '소계'인 행 수와 '미분류'인 행 수를 순서대로 나열한 것은?[대출집계]
| 지점 | 분류 | 권수 |
|---|---|---|
| 본관 | 문학 | 3 |
| 본관 | (null) | 2 |
| 본관 | 과학 | 4 |
| 분관 | 문학 | 5 |
| 분관 | 문학 | 1 |
| 분관 | (null) | 2 |
SELECT 지점,
CASE WHEN GROUPING(분류) = 1 THEN '소계'
ELSE COALESCE(분류, '미분류') END AS 구분,
SUM(권수) AS 합계
FROM 대출집계
GROUP BY GROUPING SETS ((지점, 분류), (지점), ())
ORDER BY 1, 2;1
5, 0
2
3, 1
3
2, 2
4
3, 2
해설
GROUPING(분류) 는 집계 과정에서 분류가 묶여 생긴 NULL 에만 1을 주므로, 지점 소계 2행과 총계 1행이 '소계'가 되어 3행이다.
원래 분류가 NULL 인 데이터는 (지점, 분류) 그룹에서 GROUPING 값이 0이라 COALESCE 로 '미분류'가 되며, 본관·분관에 하나씩 2행이다.
- 2와 2는 총계 행도 분류가 집계된 행이라는 점을 놓친 경우이다.
- 5와 0은 원래 NULL 과 집계로 생긴 NULL 을 구분하지 못한 경우이다.
- 3과 1은 지점이 다른 NULL 분류를 한 그룹으로 합친 경우이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 5회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- sql문에서having을사용할수있는절은? {"answer":3,"content":[{"content":"like절","url":""},{"content21년-3회차-정보처리기사-필기
- sql문에서select에대한설명으로옳지않은것은? {"answer":2,"content":[{"content":"from절에는질의에의해검색될데이터들을포함21년-2회차-정보처리기사-필기
- 다음조건을만족하면서학과별로튜플수가얼마인지구하는sql문을작성하시오. -대소문자를구분하지않는다. -where구문을사용하지않는다. -groupby를사용한다. -세미콜론2020년 정보처리기사실기 4회차