일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQL테스트
- 윈도우함수
- SQL고득점KIT
- 문풀
- SQL
- leetcode
- UNION
- 코테
- 셀프조인
- With
- 프로그래머스문풀
- levle1
- sql문풀
- 코딩테스트
- GROUPBY
- 데이터분석
- 프로그래머스
- 데이터리안
- 약수구하기
- 서브쿼리
- 활성사용자수
- 파이썬문풀
- 리트코드sql
- leetcode문풀
- leetcodesql50
- 위키독스
- with절
- join
- 파이썬
- mysql
- Today
- Total
목록mysql (25)
꿈은 데이터분석가, 취미는 계획
0. MY SQL의 DATETIME 이해하기DATEDIFF는 DATE와 DATETIME에만 적용 가능,TIMESTAMPDIFF 는 DATETIME과 TIMESTAMP형식의 데이터에만 적용 가능 단, MYSQL에서는 VARCHAR 형식임에도 불구하고, DATEDIFF 및 TIMESTAMPDIFF 함수 사용 시이를 날짜/시간 형식으로 인식하여 처리(내부적으로 문자열을 적절하게 파싱하여 처리하기 때문)1. DATEDIFF()2개 날짜의 차이를 반환ex) DATEDIFF( '2020-07-21T10:34:51', '2020-07-20T9:34:50') => 1DATEDIFF(date1, date2)2. TIMESTAMPDIFF ()2개 차이를 지정한 단위로 반환ex) TIMESTAMPDIFF( MINUTE, '..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 멸종위기의 대장균 찾기링크: https://school.programmers.co.kr/learn/courses/30/lessons/301651문제(일부): 세대별로 자식이 없는 개체의 수와 세대를 출력재귀쿼리 사용하기풀이원본: https://school.programmers.co.kr/questions/76223 1) 재귀쿼리로 세대를 구분하는 임시테이블 생성1-1) 임시테이블의 첫번째 쿼리는 초기값으로 1세대로 지정(PARENT_ID가 NULL = 1세대)1-2) UNION ALL 아래의 두번째 쿼리는 재귀쿼리로 PARENT_ID와 매칭되는 ID가 없을 때 까지 반복하여 세대를 구분 *재귀쿼리에 대한 설명: https://o..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 그룹별 조건에 맞는 식당 목록 출력하기링크: https://school.programmers.co.kr/learn/courses/30/lessons/164670문제(일부): 리뷰가 3개 이상인 작성자 정보 조회하기0. CONCAT, SUBSTRING 이해하기CONCAT은 인수들을 연결하는 함수SUBSTRING(컬럼, 시작위치, 길이): 컬럼에서 시작위치부터 지정한 길이만큼 출력1. 서브쿼리 활용하기1) WITH절에서 리뷰를 3개 이상 남긴 ID를 선택2) 메인쿼리에서 CONCAT_WS로 공백을 넣어 주소를 합침 SUBSTRING으로 전화번호의 3 / 4 / 4자리를 추출하고 CONCAT으로 연결3) WHERE절에서 서브쿼리..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 상품을 구매한 회원 비율 구하링크: https://school.programmers.co.kr/learn/courses/30/lessons/131534문제(일부): 가입일자가 있는 USER_INFO테이블과 판매정보가 있는 ONLINE_SALE 테이블에서 21년도에 가입한 회원 중 구매이력이 있는 회원 수, 비율(구매한 회원 수 / 가입자 수)WITH절과 서브쿼리를 활용한 풀이0) 답안출처: https://school.programmers.co.kr/questions/754891) 2021년도 가입자만 있는 USER_INFO 임시테이블 생성2) 메인쿼리에서는 FROM절에 ONLINE_SALE테이블을 사용3) WHERE절에서 임시테..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 업그레이드 된 아이템 구하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/273711 문제(일부): 아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력 0. 문제풀이 포인트 1) 업그레이드 전의 희귀도가 'RARE'인지 확인 2) A테이블의 부모ID와 B테이블의 자식의 부모ID가 일치 3) ITEM_ID가 일치하는 것을 기준으로 ITEM_INFO가져오기 1. JOIN 여러번 하기 1) 업그레이드 전 ITEM_IFNO의 테이블을 II1, 업그레이드 ..
출처: [프로그래머스 스쿨 - 코딩테스트 연습 - MY SQL 문제] : 대장균의 크기에 따라 분류하기 링크: https://school.programmers.co.kr/learn/courses/30/lessons/301649 문제(일부): 개체의 크기를 내림차순으로 정렬했을 때 0% ~ 25% 를 'CRITICAL', 26% ~ 50% 를 'HIGH', 51% ~ 75% 를 'MEDIUM', 76% ~ 100% 를 'LOW' 라고 분류 1. 윈도우 함수 PERCENT_RANK활용하기 1) WITH절에서 PERCENT_RANK를 사용하여 행별 백분율을 표현 2) CASE구문으로 등급을 부여 WITH A AS ( SELECT ID,PERCENT_RANK() OVER(ORDER BY SIZE_OF_COLON..