목록전체 글 (176)
Yours Ever, Data Chronicles

SQL에서는 GROUP BY와 집계함수를 활용해 어떤 항목 값의 개수, 합계, 최댓값, 최솟값 등등을 쉽계 집계할 수 있습니다. 하지만 비율을 구하려면 조금의 쿼리 수정이 필요한데요! 이를 어떻게 하는지 바로 알아보겠습니다. --조회 SELECT * FROM [RFM_BASE_SEG2] 오늘 사용할 테이블은 [RFM_BASE_SEG2] 입니다. 위의 테이블을 보면, 고객별 구매한 횟수(ord_cnt 열), 구매한 총 금액(tot_amt 열), 그리고 고객별 등급(seg)이 나와 있는데요! 각 고객별 값이 아니라, 각 등급별(seg)로 집계를 해보려고 합니다. | Q. 등급별(seg별) 고객 수 및 매출 비중을 파악하시오. SELECT seg, COUNT(mem_no) AS seg_cnt, SUM(tot_..

이 책은 서점에서 책을 구경하다 우연히 발견한 보물 같은 책이다. 이전에 블로그에서도 여러 번 언급했었지만, 이제 막 데이터 분석을 공부하기 시작한 사람이 아닌, 데이터 분석 업무를 해봤거나 혹은 데이터 분석의 어려움과 관련한 책과 글을 읽어본 사람이라면 데이터 분석의 어려운 점은 기술적인 부분이 아님을 알 것이다. 나는 처음에 이런 것을 모르고, “난 코딩/분석 공부도 많이 했고, 통계학을 전공했으니 데이터 분석 일은 뭐든 할 수 있어!” 라는 오만한(?) 생각을 갖고 있다가 큰 좌절을 겪은 경험이 있다. 내가 알지 못했던 것들이자, 해결법을 몰랐던 것들을 항목화해서 써보자면 이런 것들이었다. 데이터를 딱 보고 이에 맞는 효과적인 분석을 하려면 어떻게 해야 하는 걸까? 어디서 그런 정보를 얻는 걸까? ..

오늘은 SQL에서 매우 자주 쓰이는 CASE WHEN 구문에 대해 포스팅합니다. CASE WHEN 구문은 SELECT절에 쓰이며, 대표적으로 2가지의 쓰임새가 있는데요! 1) 새로운 열을 생성하는 경우 SELECT CASE WHEN 기존 열 = 조건 THEN '값 1' WHEN 기존 열 = 조건2 THEN '값 2' .... (ELSE '값 N') END AS 새로운 열 2) 열을 집계하는 경우 (집계함수와 함께 사용) : 집계 열에 집계함수를 적용 SELECT 집계함수((DISTINCT) CASE WHEN 기존 열 = 조건 THEN 집계 열 (ELSE 값) END) AS 새로운 열 자주 사용하므로 반드시 알아야 하는 구문입니다. 바로 예제로 알아보겠습니다! ✔Table of Contents 예제 1. ..

당신은 정말 열심히 살아왔고, 능력도 있다. 하지만 우리 대부분은 이를 잘 드러내지 않는다. 내가 능력이 있다고 말하면 쑥스럽기도 하고, 우리나라 문화 정서상 “겸손”이 최고의 미덕이라고 여겨져 오기 때문이다. 당신은 다른 사람이 ‘대단하시네요!’ 라고 말을 해도 이에 대해 ‘에이, 뭘요.. 별 것도 아닌데요.’ 라거나, ‘아뇨!! 전 대단하지 않아요! 당신이 더 대단한걸요!’ 라며 극구 부인했을지도 모른다. 발표를 시작하기 전에도 ‘제 발표내용이 다소 부족하지만..’ , ‘제가 이 자리에서 발표할 만한 사람인지 모르겠지만..’ 이라며 자신없는 태도를 보인 적도 있을 것이다. 기대치를 미리 낮춰놓고 그 뒤에 좋은 발표를 하면 더 좋은 인상으로 남으리라는 생각 때문이다. 남이 말을 걸어주고 대답하는 것뿐만..

오늘은 SQL을 아주 유용하게 활용할 수 있는, 효율화 & 자동화를 할 수 있는 명령어에 대해 정리한다. 바로 VIEW(뷰)와 PROCEDURE(프로시저)로, 둘 다 자주 사용하는 SQL 명령어를 저장하는 역할을 한다. VIEW는 SQL 연산을 하여 만든 테이블을 새로운 가상 테이블로 저장하고, PROCEDURE는 '매개변수' 기능을 활용해 자동화한다. 별로 어렵지 않으니 명령어를 익혀서 편리하게 쿼리를 짜보자 😀 ✔Table of Contents 1. VIEW : 새로운 가상 테이블로 저장하기 생성: CREATE VIEW [TABLE명] AS ~ 조회: 일반 테이블 조회와 같음 수정: ALTER VIEW [TABLE명] AS ~ 삭제: DROP VIEW [TABLE명] 오늘의 예제는 이 테이블이다. 다..

오늘은 SQL의 집합 연산자에 대해 정리해봅니다. 2가지 이상의 SELECT절의 결과를 1개로 통합하는 데 사용하는 연산자로, 합집합: UNION (중복 X), UNION ALL (중복 O) 교집합: INTERSECT (중복 X) 차집합: EXCEPT (중복 X) 이렇게 4가지를 사용합니다. 예제로 알아보겠습니다. ✔Table of Contents 1. 합집합 연산자 (UNION, UNION ALL) 먼저 우리가 사용할 데이터는 [MEMBER_1], [MEMBER_2] 라는 2개의 데이터입니다. 이 2가지 데이터는 겹치는 데이터가 있는 서로 다른 데이터입니다. 한번 살펴봅시다. USE EDU SELECT * FROM [MEMBER_1] SELECT * FROM [MEMBER_2] 이렇게 두 데이터는 회원..

오늘은 SQL에서 자주 사용하는 윈도우 함수(Window function)에 대해 포스팅합니다. 윈도우 함수란 행과 행 간의 관계를 정의하며, 윈도우 함수에는 순위함수와 누적 집계함수 2가지가 있습니다. 그래서 윈도우 함수를 활용해 순위(순서)를 매기거나, 그냥 집계함수가 아닌 "누적" 집계값을 뽑을 수 있습니다. 바로 알아봅시다. ✔Table of Contents 윈도우 함수 기본 문법 윈도우 함수만의 특이한 문법이 있는데, 윈도우 함수를 쓸 때는 다음의 문법을 사용합니다. 윈도우 함수 OVER (ORDER BY 열 ASC or DESC) 예를 들어 윈도우 순위함수를 사용하는 경우, 특정 열을 기준으로 정렬하여 순위를 부여합니다. 만일 또다른 특정 열을 기준으로 '그룹화'를 하고 싶다면 어떻게 하면 될..

저번 포스팅에 이어, SQL에서 그룹화를 할 때 많이 사용하는 그룹함수에 대한 포스팅이다. 그룹함수는 집계함수만큼 자주 사용하지는 않지만, 알아두고 있으면 총계나 소계를 구할 때 아주 유용한 아이들이다. 이러한 그룹함수들은 [GROUP BY 항목1, 항목2,... ] 이런 구문을 사용할 때 함께 사용하며, GROUP BY 뒤에 들어오는 항목들을 그룹으로 묶는다. 처음 접하게 되면 생소할 수 있으니 포스팅을 통해 차근차근 설명하려고 한다 :) ✔Table of Contents 그룹함수 4가지는 다음의 기능을 가지고 있다. WITH ROLLUP: 오른쪽 → 왼쪽 순으로 그룹을 묶는다. 총계, 소계를 구할 때 활용 WITH CUBE : 모든 경우의 수에 대한 그룹을 묶는다. 총계, 소계를 구할 때 활용 GRO..

이번 포스팅은 SQL에서 그룹화를 할 때 많이 사용하는 함수 중, 집계함수에 대해 포스팅합니다. 집계함수는 흔히 사용하는 COUNT, SUM, AVG 요런 함수들로 데이터를 통계 처리할 때 사용합니다. 실제로 실무할 때 정말 많이 사용하므로 꼭 알아두어야 할 함수입니다 :) ✔Table of Contents 대표적인 집계함수에는 다음이 있다. COUNT: 개수 (NULL 값 포함) SUM: 합계 AVG: 평균값 MAX: 최댓값 MIN: 최솟값 STDEV: 표준편차 VAR: 분산 집계함수는 2가지 쓰임새가 있는데, 그룹화(GROUP BY)를 하지 않고 쓰거나 or 그룹화와 함께 쓰는 경우이다. 이 2가지 케이스는 다음과 같은 경우에 쓰게 된다. GROUP BY와 사용 X 전체 데이터에 대한 통계량 산출 (..

세븐 테크: 3년 후 당신의 미래를 바꿀 7가지 기술 - 김미경 외 8인 지음, 웅진지식하우스(2022) 다들 한번쯤 들어보셨을 만큼 유명한 스타강사이자, 유튜브 MKYU대학을 운영 중이신 ‘김미경’ 님이 올해 2월에 낸 따끈따끈한 신작이다. 이 책은 제목처럼, 3년 후 유망해질 7가지 기술인 에 관해 다루고 있다. 이 7가지 기술의 주인공들은 바로 이것이다. 인공지능(AI), 블록체인(blockchain), VR/AR, 로봇공학, 사물인터넷(IoT), 클라우드(Cloud), 메타버스 많이들 들어본 것들이고, 이미 우리의 일상 속에서 사용되고 있기도 하다. 그리고 앞으로 유망해질 것이라는 것은 여러 매체와 강연을 통해서 들어보셨으리라 생각한다. 나는 그중에서도 인공지능에 가장 관심이 많고, 이를 잘 다루..