본문 바로가기

PostgreSQL2

[SQL예제][PostgreSQL] 4. 조인과 집계데이터(INNER JOIN, ON, ROW_NUMBER(), OVER(), COUNT()) RENTAL과 CUSTOMER 테이블을 이용하여 현재까지 가장 많이 RENTAL을 한 고객의 고객ID, 렌탈순위, 누적렌탈횟수, 이름을 출력하라 # 풀이 순서 테이블 CUSTOMER 와 RENTAL 을 INNER JOIN 하여 고객의 ID, 성, 이름 과 찍지어준다. COUNT() 를 사용하여 고객의 렌탈 횟수를 조회한다. ROW_NUMBER() 와 OVER() 를 사용하여 순위를 매겨준다. # 문제 풀이 1. 두 테이블을 조인하여 교집합 부분만 조회한다. - 고객 아이디, 성, 이름, RENTAL_ID 만 조회 SELECT C.CUSTOMER_ID , C.FIRST_NAME , C.LAST_NAME , R.RENTAL_ID FROM RENTAL R INNER JOIN CUSTOMER C ON R.CUS.. 2023. 3. 7.
[SQL예제][PostgreSQL] 3. 조인과 집계데이터(COUNT(), TO_CHAR, GROUP BY, ROLLUP) RENTAL 테이블을 이용하여 연, 연월, 연월일, 전체 각각의 기준으로 RENTAL_ID 기준 렌탈이 일어난 횟수를 출력하라. (전체 데이터 기준으로 모든행을 출력) # 풀이 순서 TO_CHAR() 를 사용하여 RENTAL_DATE 를 전체, 연도, 연월, 연월일 기준으로 구분한다. GROUP BY 와 ROLLUP, COUNT() 를 사용하여 각 단위(?)별로 집계한다. 큰 단위부터 (상위 그룹부터) GROUP BY 로 묶어줘야한다. # 문제 풀이 1. COUNT(RENTAL_DATE) 를 사용하여 전체 건수를 조회한다. SELECT COUNT(RENTAL_ID) FROM RANTAL COUNT() 2. TO_CHAR() 와 GROUP BY 를 사용하여 연도 별 합계부터 조회한다. SELECT TO_C.. 2023. 3. 6.