분류 전체보기43 [Advent of SQL 2024 🎄] 전력 소비량 이동 평균 구하기 (Day 14) 난이도4 Power Consumption of Tetouan City 데이터베이스는 모로코 북부 도시 중 하나인 테투안 지역의 전력 소비량과 기상 관측치가 들어있는 데이터베이스 입니다. 테투안 지역에는 Quads, Smir, Boussafou 총 3개 지역에 발전소가 있으며 해당 발전소로 부터의 전력 소비량이 각각 측정되어 있습니다. 전력 소비량 측정은 매 10분마다 시작해 10분간 진행하는 방식이고, measured_at 컬럼에 측정 시작 시각이 기록되어 있습니다. 전력 소비량은 순간순간 크게 변화하는 값이기에 트렌드를 보거나 수요 예측을 하기 위해서 단순 이동 평균을 자주 사용 합니다.2017년 1월 1일 0시부터 2017년 2월 1일 0시까지 10분 단위로 3개 발전소 전력 소비량의 1시간 범위 .. 2024. 12. 14. COALESCE( )를 통해 NULL값 변환하기 COALESCE( ) COALESCE(col1, col2, col2, ..., ...) COALESCE함수는 인자로 주어진 col들 중에서 null이 아닌 첫 번째 값을 반환하는 함수이다. 따라서 NULL값을 특정 값으로 변환하는 데 사용한다고 보면 된다. SELECT COALESCE(col1, '공백') FROM member→ col1 컬럼에 NULL값이 있는 경우 이를 '공백'으로 대신 출력한다. SELECT COALESCE(col1, col2, '공백') FROM member→ col1 컬럼에 NULL값이 있는 경우 이를 col2으로 대신 반환한다. → 만일 col2 값도 NULL인 경우, '공백'을 대신 출력한다. IFNULL(col_name, 'NULL일 때의 반환값') 역시 NULL값을 처.. 2024. 12. 14. COUNT OVER( )로 그룹별 집계하기 목차1. COUNT( ) OVER( ) COUNT 함수를 OVER절과 함께 사용하면 GROUP BY절을 사용하지 않고 전체 건수, 그룹별 건수를 집계해서 각 행에 표시할 수 있다. 1) 전체 총 건수 구하기COUNT(*) OVER()SELECT *, COUNT(*) OVER() AS TOTAL_COUNTFROM ECOLI_DATA 단순히 COUNT(*)만 사용하는 경우 조회된 데이터의 총 건수를 구한다. TOTAL_COUNT > 모두 동일하게 전체 데이터 건수 값을 표시함. * OVER 절은 데이터가 모두 조회된 후 ORDER BY 실행되기 바로 전에 실행됨. 2) 순차적 누적 건수 구하기 COUNT(*) OVER(ORDER BY COLNAME) AS ALIAS SELECT *, COUNT(*) OV.. 2024. 12. 14. 순위함수 : ROW_NUMBER( ) 와 RANK( ), DENSE_RANK( ) 의 개념과 차이 목차1. ROW_NUMBER( ) ROW_NUMBER( ) 는 결과 집합의 각 행(row)별 순번을 출력시켜준다. 동일한 값이 있을 경우, 오라클의 경우 ROW ID 기준으로 ORDER BY 되어, 순서를 가지게 된다. (중복X)ROW_NUMBER() OVER (ORDER BY Col_name DESC) AS Alias 예시 ) SIZE_OF_COLONY 컬럼의 값이 큰 순서대로 행 넘버를 가져오고 싶은 경우SELECT * , ROW_NUMBER() OVER (ORDER BY SIZE_OF_COLONY DESC) AS ranking FROM ECOLI_DATA 예시 ) CATEGORY별로 묶어서 가격이 큰 값을 기준으로 순위를 매기고 싶을 때 SELECT CATEGORY, PRICE, .. 2024. 12. 14. [Advent of SQL 2024🎄] 게임 개발사의 주력 플랫폼 찾기 (Day 13) 난이도 4 Video Game Sales with Ratings 데이터베이스는 1980년부터 2016년까지 출시된 게임들의 다양한 정보가 포함되어 있습니다. 포함된 정보에는 게임 개발사 정보와 각 게임의 플랫폼, 게임의 판매량 정보도 있습니다. 게임 분야에는 많은 플랫폼이 있기 때문에 하나의 개발사가 모든 플랫폼에 게임을 출시하는 것은 생각보다 어려운 일 입니다. 각 게임 개발사는 주력 플랫폼을 정해두고 해당 플랫폼 위주로 게임을 출시합니다. 따라서, 개발사마다 주력 플랫폼은 보통 판매량이 가장 많은 플랫폼으로 생각할 수 있습니다.games 테이블, companies 테이블, platforms 테이블을 조회해 각 게임 개발사의 주력 플랫폼과 해당 플랫폼의 판매량 합계를 집계하는 쿼리를 작성해주세요. 쿼리.. 2024. 12. 13. [Advent of SQL 2024🎄] 3년간 들어온 소장품 집계하기 (Day 12) 난이도2 Museum of Modern Art Collection 데이터베이스에는 뉴욕 현대 미술관에 소장된 소장품과 그 작가 정보가 들어있습니다. 소장품 정보를 담고 있는 artworks테이블은 소장품의 소장 일시(acquisition_date)와 소장품의 분류(classification) 정보가 들어있습니다. 이 정보를 바탕으로 2014년부터 2016년까지 3년간 어떤 분류의 소장품이 많이 추가되었는지 알고자 합니다.아래와 예시와 같은 형태로 각 분류에 대해 연도별 추가된 소장품 수를 집계하는 쿼리를 작성해주세요. 쿼리 결과는 아래 컬럼을 포함해야하고, 컬럼 순서 역시 아래 예시 순서와 동일해야하며, 각 행은 분류(classification) 컬럼 기준으로 오름차순 정렬되어 있어야 합니다. 또한, .. 2024. 12. 13. 이전 1 2 3 4 5 ··· 8 다음