Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 퓨처셀프
- Django
- 덴드로그램
- 2023
- JP Study
- WIL
- Programmers
- 컴퓨터 과학이 여는 세계
- 멀티스레딩
- Recommender system
- 문제풀이
- 프로그래머스
- CS
- 백준
- 혼자 공부하는 SQL
- computer science
- FastAPI
- 다시 왔다!
- Til
- 1463
- MVT
- 한 권으로 읽는 컴퓨터 구조와 프로그래밍
- SQL
- 선형대수
- PCA
- 미래혁신대전
- mysql
- stored function
- Stored Procedure
- 엘런 튜링
Archives
- Today
- Total
Growth Hoon
20231021_TIL_SQL 스터디 {sum과 count의 차이, group by안하고 집계 함수 사용시 문제점, 또 뭐 하나 있었음.} 본문
TIL_Today I Learned
20231021_TIL_SQL 스터디 {sum과 count의 차이, group by안하고 집계 함수 사용시 문제점, 또 뭐 하나 있었음.}
sayhoon 2023. 10. 21. 23:07오늘은 JP study에서 내가 튜터링을 열었던 SQL을 끝내기 위해 서울시청점에 방문했다.
승인님이랑 함께 sql문제를 풀고, 그동안 내가 sql문제를 풀었던 방법을 공유했고
그 결과로 승인님도 프로그래머스 sql문제랑 solvesql level3의 문제는 풀 수 있는 실력이 되었다 !
오늘은 그 과정에서 발생한 의문과 주의점에 대해서 TIL을 작성하고자 한다
1. UNION 할 때, 위에서 작성한 SLECT문의 Table Column명을 따르는지?
프로그래머스 문제에서 UNION을 사용한 문제인데 위의 Column명과 아래의 Column명이 다른데, 위의 Column명을 따르더라
Python의 pandas 라이브러리 merge함수에서 left의 컬럼이 먼저 적용되 듯이
Mysql에서도 위의 table이 주 table로 적용되고 따르는 것 같아 보였다.
2. SELECT문에서 SUM() 과 COUNT()의 차이
-- 조건문에 참이면 1, False이면 0이 된다.
SELECT
COUNT(Col > 1) AS 별칭 1,
COUNT(Col < 1) AS 별칭 2,
FROM
tb1
GROUP BY
컬럼명
위 쿼리문에서 COUNT함수를 사용했는데 조건에 맞지 않는 레코드(행)은 세지 않을 것 같았는데 count 하더라 !..
여기서 승인님은 SUM()함수를 사용했기 때문에 조건에 True, False값이 0,1이어서 정확하게 구분이되어 처리 되었음!
해당 문제에 대해서 찾아본 COUNT를 통해서 쿼리문 작성방법
-- 조건문에 참이면 1, False이면 0이 된다.
SELECT
COUNT(CASE WHEN Col > 1 THEN 1 ELSE NULL) AS 별칭 1,
COUNT(CASE WHEN Col < 1 THEN 1 ELSE NULL) AS 별칭 2,
FROM
tb1
GROUP BY
컬럼명
COUNT함수 내부에 CASE조건문을 넣어주고, False일 때 NULL값을 넣게 만들어 count하지 않는 방법이다.
reference site
'TIL_Today I Learned' 카테고리의 다른 글
20231026_TIL_프로그래머스 & ADsP(OLTP와 OLSP) (0) | 2023.10.26 |
---|---|
20231025_TIL_프로그래머스, Seaborn 오류, SQL로 시작하는 데이터 분석 책 도착 (0) | 2023.10.25 |
20231020_TIL_SQL{VIEW, Stored Procedure, Stored Function, Index} (0) | 2023.10.20 |
20231017_TIL_SQL CASE, SUBSTRING (0) | 2023.10.17 |
20231016_TIL_자소서작성 3C4P - 면접왕 이형 (0) | 2023.10.16 |