Daily plan
🌞오전
- 코드카타 SQL 8문제 (60번까지!)
- 데일리 스크럼
- 파이썬 라이브 세션 10:00~12:00
🔥 오후
- QCC 13:30~(?)
- 데이터분석 파이썬 종합반 5회차 강의
🌝 저녁
- 데일리 스크럼 + TIL 제출
아침부터 머리가 잘 안돌아가서 WHERE절을 붙잡고 고민하다가,, 간신히 GROUP BY HAVING절을 떠올려서 해결했다.
윈도우 함수를 이용하지 않고 'DATETIME' 기준으로 내림차순 정렬한 뒤 첫번째 ROW의 DATETIME을 가져오는 방식을 선택했다.
윈도우 함수를 쓰면 더 간단해진다.
주소까지는 CONCAT으로 쉽게 해결했는데, 전화번호 하이픈 넣기에서 약간 멈칫했다. 결국 구글링을 통해 CONCAT과 SUBSTR 함수를 이용해서 해결!
하지만 결과는 오답.... 대체 어디가 틀렸다는 건지 한참 고민함..
전체 주소에서 중간에 " " 띄어쓰기를 빼먹어서 오답이었다...^^;
얘는 LIKE를 사용하면 간단하게 해결 가능
APPOINTMENT 테이블과 DOCTOR 테이블에서 MCDP_CD라는 동일한 컬럼을 가지고 있는 것을 보고 무지성으로 조인을 했는데, 그게 오답의 원인이었다.
MCDP_CD는 진료과 코드이기 때문에 같은 코드를 가진 여러명의 의사가 존재했다. APPOINTMENT에서 각 진료 예약에 일치하는 의사 각각을 알맞게 매칭하려면 진료과 코드가 아닌 의사ID를 이용해야 했다.
DOCTOR 테이블에서는 DR_ID, APPOINTMENT 테이블에서는 MDDR_ID로 다른 이름을 가지고 있어서 한 눈에 보지 못했다.
앞으로는 테이블을 꼼꼼하게 확인하는 습관을 갖자!
이건 다음으로 미뤄야겠다...ㅜ
아무리봐도 답인데 왜 아니라는 건지 한참을 째려봤다. 틀린 이유는 COUNT를 잘못했기 때문!
문제에서는 "상품을 구매한 회원수"를 집계하라고 했는데, 나는 COUNT(1)로 작성해서 "상품을 구매한 횟수"를 주구장창 세고 있었다.
따라서 COUNT(DISTINCT O.USER_ID)로 바꾸어서 중복없이 USER_ID를 집계하도록 수정했더니 정답이었다.
이메일 프로모션을 수락한 개인(소매) 고객의 수를 계산하여 출력하시오.
select count(* ) customer_count
from person
where email_promotion in (1,2)
and person_type="IN"
내가 작성한 쿼리를 복사해놨어야 했는데 생각을 못했다ㅜ.ㅜ (바보) 대충 복기해서 다시 작성함.
1번 문제는 쉬워서 방심했는데 2번이 생각보다 까다로웠다. 테이블이 4개나 있어서 각 테이블마다 컬럼을 확인하기 쉽지 않았다. 튜터님 피셜 2번 문제가 난이도 '중' 정도에 해당한다고 하셨다.
그리고 2번 쿼리를 작성하는 중에 조금만 타자를 빨리 치면 오류가 발생했다. 침착하게 인내심을 가지고 느린 독수리 타법으로 쿼리를 작성했다..ㅋㅋㅋ
복잡해보였던 2번이 막상 쿼리 작성을 다 끝내고 나니까 그렇게까지 복잡하지는 않았다. 굳이 서브쿼리를 작성해서 쿼리를 길어지게 만들었다는 게 아쉽다. 서브쿼리 없이 여러 테이블을 조인해도 상관이 없다는 걸 깨달았다.
실제 코테를 할 때 주석을 달아서 답안을 제출하는 것도 좋다고 한다. 만약 답을 못구해도 어떤 생각을 했는지 보여주는 용도로 작성하면 면접관 입장에서 좀 더 긍정적으로 봐줄 수도 있다고,,
QCC 다 맞았어요!!! 칭찬 부탁.
다른 분들의 현란한 닉네임들 사이에서 꿋꿋하게 본명을 쓴 나와 정근님...ㅋㅋㅋㅋ
(구)1조 팀원분들이 축하해주셔서 기분이 좋았다><
시험장에 이렇게 모여있는거 뭔가 귀여우면서 약간 징그럽... (죄송합니다)
윌리를 찾아서 같다. 저 어디 있게요~~?~??
바로 요기ㅎㅎ
어느샌가 현유님과 용우님이 내 앞자리에 와있었다. 여전히 끈끈한 (구)1조 사람들...❤
오늘 아침부터 폭풍 코드카타에 파이썬 라이브세션, QCC+해설까지....
정신없이 끌려다니다가 결국 집중력에 한계가 왔다.
결국 계획한 걸 많이 못해서 너무 아쉽다ㅜㅜ
주말 동안 미뤄놓은 것들이랑 WIL 작성까지 다 끝내야지!!!!
벽보고 벌서는거 아니고
누구보다 진지하게 서울 데이트 코스 짜는 중인 13조 사람들 ㅋㅋㅋㅋㅋㅋㅋ
(후기 꼭 알려주세요👀🙄)