https://www.youtube.com/watch?v=BSA0MhvbikA
본 글은 [SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리, 을 시청하고 정리한 글입니다.
집계 함수 COUNT, MIN, MAX, SUM, AVG 의 예시
SELECT statn_nm
, count(*) AS 개수
, MIN(BEGIN_TIME) AS 첫출발시간
, MAX(BEGIN_TIME) AS 마지막출발시간
, SUM(NMPR_CNT) AS 총합
, SUM(NMPR_CNT) / COUNT(*) AS 평균1
, AVG(NMPR_CNT) AS 평균2
FROM dasql.tb_pbtrnsp
WHERE statn_nm LIKE '%혜화%'
GROUP BY statn_nm;
2개 이상의 컬럼에 대해, COUNT() 함수를 쓸 시에 GROUP BY을 다 써야함.
SELECT STATN_N
, TKCAR_GFF_SE_CD
, COUNT(*)
FROM DASQL.TB_PBTRNSP
GROUP BY STATN_NM, TKCAR_GFF_SE_CD
ORDER BY STATN_NM DESC, TKCAR_GFF_SE_CD DESC
SELECT NO_LN
, SUM(NMPR_CNT)
FROM DASQL.TB_PBTRNSP
GROUP BY NO_LN
ORDER BY NO_LN
CASE WHEN 구문, DECODE 구문을 이용한 예시
SELECT NO_LN
, SUM(CASE WHEN STATN_NM = '헤화' THEN 1 ELSE 0 END) AS 혜화1
, SUM(DECODE(STATN_NM, '혜화',1,0)) AS 혜화2
, SUM(DECODE(STATN_NM, NULL, 1 , 0)) AS 널값
, SUM(CASE WHEN STATN_NM IN ('혜화', '명동') THEN 1 ELSE 0 END) AS 예시1
, SUM(CASE WHEN STATN_NM IN ('혜화', '명동') THEN NMPR_CNT ELSE 0 END) AS 예시2
, AVG(CASE WHEN STATN_NM IN ('혜화', '명동') THEN NMPR_CNT ELSE 0 END) AS 예시3
, SUM(DECODE(STATN_NM,'혜화',1,'명동',1,0)) AS 예시4
, SUM(DECODE(STATN_NM,'혜화',NMPR_CNT,'명동','NMPR_CNT,0)) AS 예시5
, AVG(DECODE(STATN_NM, '혜화', NMPR_CNT, '명동', NMPR_CNT,0)) AS 예시5
FROM DASQL.TB_PBTRNSP
WHERE HO_LN = '4호선'
GROUP BY HO_LN
ORDER BY HO_LN
HAVING 절을 이용해 조건에 맞는 총 개수 출력하기
SELECT STATN_NM
, COUNT(*) AS 총개수
FROM DASQL.TB_PBTRNSP
GROUP BY STATN_NM
HAVING COUNT(*) > 2
'💡 Lecture > 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리' 카테고리의 다른 글
[SQL] 데이터분석가 많이 쓰는 완전 기초 쿼리 4탄 : row number, (dense) rank, ntile (0) | 2023.11.10 |
---|---|
[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 3탄 : 테이블 생성, 삭제, JOIN (0) | 2023.11.09 |
[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 2탄 : 시간 함수 (1) | 2023.11.09 |
[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 1탄 (1) | 2023.11.09 |