다음 ㉠과 ㉡의 결과 행 수를 순서대로 나열한 것은?[상영]상영번호관이… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 ㉠과 ㉡의 결과 행 수를 순서대로 나열한 것은?[상영]
| 상영번호 | 관이름 | 관객수 |
|---|---|---|
| 1 | A관 | 40 |
| 2 | A관 | 20 |
| 3 | B관 | 35 |
| 4 | B관 | (null) |
| 5 | C관 | 50 |
| 6 | A관 | 30 |
| 7 | B관 | 60 |
㉠
SELECT 관이름,
COUNT(*) OVER (PARTITION BY 관이름) AS 횟수
FROM 상영
WHERE 관객수 >= 30;㉡
SELECT DISTINCT 관이름,
COUNT(*) OVER (PARTITION BY 관이름) AS 횟수
FROM 상영
WHERE 관객수 >= 30;1
5, 5
2
7, 3
3
5, 3
4
3, 3
해설
WHERE 가 먼저 관객수 30 이상인 1·3·5·6·7번 5행을 남기고, 윈도우 함수는 행을 줄이지 않으므로 ㉠은 5행이다.
㉡은 같은 관이름의 행이 같은 횟수 값을 가져 DISTINCT 로 A관 2·B관 2·C관 1 의 3행으로 줄어든다.
- 7은 WHERE 이전의 전체 행 수로, NULL 과 20 인 행도 빠진다.
- ㉡을 5행으로 본 것은 DISTINCT 가 중복 행을 합친다는 점을 놓친 것이다.
- ㉠을 3행으로 본 것은 윈도우 함수를 GROUP BY 처럼 그룹당 1행으로 본 것이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 9회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- student테이블에서컴퓨터과학생50명,인터넷과학생100명,사무자동화과학생50명의정보가저장되어있을때,다음sql문의실행결과에따른튜플의수는?(단,dept칼럼은학과명이2020년 정보처리기사실기 1회차
- sql문에서select에대한설명으로옳지않은것은? {"answer":2,"content":[{"content":"from절에는질의에의해검색될데이터들을포함21년-2회차-정보처리기사-필기
- 체중조절을위하여식이요법을시행하는사람이매일식사의시간,종류,양과운동량을구체적으로기록하고있다면이는어떤행동관찰의방법인가? {"answer":1,"content18년-1회차-임상심리사2급-필기