QCC | 7회차 코드 리뷰 & 피드백 (+마지막 qcc)
·
SQL
☑️  좋아요를 받지않은 페이지 조회[문제][문제 풀이]내 코드 SELECT DISTINCT p.page_id AS page_idFROM pages p LEFT JOIN page_likes pl ON p.page_id =pl.page_idWHERE pl.page_id IS NULLORDER BY 1; 이슈 및 해결 과정left join 후 null 값 집계 하는 문제page_id 만 출력하는 부분에서, group by 쓸지 distinct 쓸지 고민하다가 한줄 추가하기 싫어서 distinct로 해결실무에서 사용한다면 group by 가 더 적합할듯한줄 포인트pass ☑️  티커별 최고가/최저가와 해당날짜 조회하기[문제][문제 풀이]내 코드 -- 1. high /low 의 open 과 일짜 각각cte로 ..
코테준비 | WHERE 절 서브쿼리 / EXISTS / 소수점 변환 / 두 날짜의 차이 (PostgreSQL)
·
SQL
☑️ Patient Support Analysis (Part 1)[문제] EXISTS 활용[문제 풀이]내 코드-- WITH문 풀이법 WITH sub AS ( SELECT policy_holder_id FROM callers GROUP BY policy_holder_id HAVING COUNT(DISTINCT case_id)>=3)SELECT COUNT(DISTINCT policy_holder_id) AS policy_holder_countFROM sub-- WHERE저 다중커럼 서브쿼리 풀이법SELECT COUNT(DISTINCT policy_holder_id) AS policy_holder_countFROM callersWHERE policy_holder_id IN ( SELECT..
QCC | 6회차 코드 리뷰 & 피드백
·
SQL
☑️  top3 조회하기[문제][문제 풀이]내 코드 WITH dnk_t AS( SELECT *,ROW_NUMBER() OVER (PARTITION BY GENDER ORDER BY SCORE DESC,AGE DESC) AS dnk FROM students s)SELECT GENDER,NAME,SCOREFROM dnk_tWHERE dnk 이슈 및 해결 과정 그룹별 top3 추출이라 순번윈도우 함수 활용순번 건너뛰기등 옵션 없으므로 row_number 함수 사용 한줄 포인트pass그룹별 순위 필터링시 고민하지 말고 아묻따 윈도우 함수 사용하자☑️  모든 도서의 고객의 결제/ 미결제 총액 집계하기[문제][문제 풀이] 내 코드 SELECT b.title ,ROUND(SUM(CASE WHEN bo.P..
PostgreSQL | 날짜/시간 함수 정리 (+ DataLemur 문제풀이)
·
SQL
mySQL 과 postgreSQL RDB는 날짜/시간 처리에 사용하는 함수가 다르다. 코테 준비를 하면서 다양한 환경에서 쿼리를 작성 할수 있어야하기 때문에, 주로 사용하는 날짜/시간 함수를 정리했다.➡️ PostgreSQL 날짜 타입 데이터 타입설명예제DATE년-월-일'2004-10-19'  or '10/19/2004'TIMESTAMP년-월-일-시-분-초'2004-10-19 10:23:54' or '10/19/2004 10:23:54'** INTERVAL ' A'시간 간격INTERVAL '1 day' ,interval '2 hours', interval '1 second' 등postgreSQL 은 mysql 의 DATETIME 유형은 없음 ➡️ DATE / TIMESTAMP 타입 연산하기-- 1. da..
QCC | 5회차 코드 리뷰 & 피드백
·
SQL
☑️  문제1 . 조건별 연도별 매출 집계[문제][문제 풀이]내 코드 SELECT release_year ,sum(revenue) AS revenueFROM movies m WHERE release_year >=2012 AND VOTE_COUNT >=100 AND JSON_LENGTH(genres)>=2 GROUP BY release_year ORDER BY 1; 이슈 및 해결 과정 단순히 조건 필터링후 집계 하는 문제장르 컬럼이 JSON 타입으로 저장 → 2개이상 조건 필터링시 json 타입의 길이 반환해주는 함수 적용`JSON_LENGTH(genres)``JSON_LENGTH(json_doc)`json 타입의 길이 반환해주는 함수, 유효한 표현식이 아닐경우 에러남중첩된 배열 계산 안함mysq..
코테 준비 | 폐쇄할 따릉이 정류소 찾기 2 (union all)
·
SQL
☑️  폐쇄할 따릉이 정류소 찾기 2[문제]solvesql 문제들은 보안 문제로 포인트만 기재특정월 한달동안 정류소에서 발생한 대여/반납 건수가 전년동월 대비 50% 이하인 정류소 확인 후 폐쇄 검토 예정정류소 id, 정류소명,정류소 지역,전년비 (100%) 조건 : 전년비는 소수점둘째까지 출력 , 당월,전년 동월 각각 이용횟수가 0인 경우는 제외 [문제 풀이]내 코드 - 1차 오답WITH r1 AS (SELECT rent_station_id AS id ,DATE_FORMAT(rent_at,'%Y-%m') AS dt ,COUNT(DISTINCT rent_at) as cnt --오류 발생 (자전거별 대여시각이 동일한 경우도 있음) FROM rental_historyWHERE DATE_FO..
코테준비 | Print Prime Numbers - 1-1000까지 소수만 필터링 (recursive CTE, group_concat, not exists)
·
카테고리 없음
Print Prime Numbers | HackerRankPrint prime numbers.www.hackerrank.com ☑️  Print Prime Numbers[문제]Write a query to print all prime numbers less than or equal to 1000. Print your result on a single line, and use the ampersand (&) character as your separator (instead of a space).For example, the output for all prime numbers  would be:2&3&5&71-1000 가지 숫자 중 소수만 찾아 앰퍼센트로 연결해서 하나의 셀에 출력[문제 풀이]내 코드 WIT..