일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c# 백준
- 유니티공부
- unity공부
- 유니티상호작용
- 시샵문법
- unity게임만들기
- c#기초문법
- 티스토리챌린지
- c#코테
- 스파르타코딩클럽
- 오블완
- c#프로그래머스기초문법
- c#코딩기초트레이닝
- C++문법
- unity3dservival
- unity게임
- unity3d
- 유니티서바이벌게임만들기
- c#문제
- c#기본문법
- 유니티3dui
- C#문법
- 스파르타
- 유니티게임만들기
- c#
- 유니티
- Unity
- unity3d게임만들기
- c# c#프로그래머스
- 시샵
- Today
- Total
목록SQL을 해보았어요! (20)
나 개발자 진짜 되냐?

후후후ㅜ후.. 굉장히 어려운 문제였어요.. 결국 답지를 찾아봤지만 그냥 조인으로 끝낼 문제가 아니라 서브쿼리 까지 활용했어야하는 문제였다. 처음에는 답을 보고도 이해하지 못했기 때문에... 이 글을 읽는 그대는 내 글을 보고 해석이 되었으면 좋겠다. SELECT YEAR, MONTH, COUNT(*) AS PUCHASED_USERS, 먼저 문제에서 보다시피 2021에 가입된 사람들 중 구매한 회원수, 구매한 회원의 비율, 년, 월 이렇게 4개를 적는다. 맨 위에 SELECT 에 적은 YEAR, MONTH는 음..AS 뒤에오는 변수라고 생각해도 된다. 회원 수 이기 때문에 일단 COUNT를 써주고 전체로 묶어준다. 전체로 묶어주는 이유는 FROM에서 서브쿼리로 조인해주면 그 값을 세어주기만 하면 되기 때문..

문제에 답 이 다 있다는 깨달음을 한번 더.. 얻었다. 상품 코드 별 < GROUP BY 사용 매출액 합계 < SUM 사용 잘 읽고 푼다면... 그대는 점수를 받을 수 있을 것이요.

역시.. 4단계는 다른가? 두 테이블을 합치기 위해 JOIN을 사용해서 문제를 풀었는데 도저히 안나와서 결국 인터넷을 보았다.. 흐흐 하지만 이문제는 JOIN이 아니라 UNION을 써야 한다고 한다 왜일까 하며.. 표를 유심히 봤는데 ONLINE과 OFFLINE에서 겹치는 컬럼이 단 한 개도 없었다.. 이름만 같았을 뿐.... 그래서 이건 JOIN을 쓸 수 없었고 UNION에 대해 써야 한다고 한다. UNION은 집합 연산자로 두 테이블을 연산해서 사용한다. UNION은 두 개 쿼리를 합치면서 중복을 제외하고 UNION ALL은 두 개를 합치면서 중복도 포함한다 그래서 UNION보다 큰 값이 나올 때가 많다. 추가적으로 INTERSECT는 중복된 레코드만 뱉어내는 친구이고 MINUS는 차집합 느낌으로 첫..

우리는 맨 마지막 정보에 대해 관심을 가져야한다. 한마리의 경우만...이라고 적혀있다. 이제 다시 보니 제목에도 상위 n개 코드네요..ㅎㅎ LIMIT는 숫자 만큼 출력 해주는 좋은 친구이다.. 어디에 쓰냐 고민한다면 제일 마지막에 쓰는 것이다. 제일 마지막 제일 마지막

어렵지 않게 풀 수 있었다. 안 쓸까 하다가.... 그냥 썼다 흐흐

바로 전에 문제 푼 거와 동일해서 약간 복습느낌으로 풀 수 있었다. DATA_FORMAT으로 일단 출력할 만큼 적어두고 MONTH으로 03인 사람만 출력할 수 있도록 함수를 적어주었다. NULL인 사람은 제외 이기 때문에 NOT NULL인 사람만 출력 할 수 있게 했다.

IFNULL 때문에 찾아보게 되었다. 원래 IS NULL을 WHERE절에 쓰려고했는데.. 그건 그냥 널이 있는지 없는지 보는 친구였기 때문에 활용하지 못했다. SELECT IFNULL( 컬럼 , "치환할 문구" ) [AS 바꿀이름]