문제 문제링크 접근 다른 테이블의 GROUP BY 연산 후, IN 연산을 통해 해당하는 ID가 있는지 분기한다. 부수적으로 CONCAT(, ...), SUBSTR(STR, start_idx, length) 사용법과 인자를 잘 알아야 한다. 풀이
문제 문제 링크 접근 이 문제를 필요했던 기본 개념이 꽤 있다. 문자열 처리 : REPLACE, SUBSTRING etc 문자 숫자 형변환 : CAST 연산 중 NULL 처리 : COALESCE 소수점 자르기 : FLOOR 서브쿼리, 조인, 정렬 etc 논리적으로는 이상 ~ 이하의 표에서 필요한 값을 얻어오는 방법 (MAX연산
문제 문제링크 접근 가장 많은 조회수의 row는 간단한 단일행 서브쿼리로 연산한다. CONCAT 함수를 활용하여 조건에 맞춰 SELECT한다. 풀이
문제 문제링크 접근 항상 세로 성분인지 가로 성분인지 정확하게 인지하는 것이 중요하다. 연산도 세로인지 가로인지 중요하다. 인지만 잘한다면 크게 어렵지 않은 문제이다. 판매정보에 각 고유정보를 JOIN 후, 날짜로 분기하여 GROUP BY 하여 SELECT 문에서 적절한 SUM() 연산을 하면 된다. 풀이
문제 문제링크 접근 조건에 명시되어 있는 필드를 기준으로 그대로 group by하고, 정렬하면 되는 문제이다. 중요한 조건 중에 하나는 한 달에 한 회원이 여러 번 구매할 수도 있기 때문에 중복 제거를 꼭 해줘야한다. 그 외에 NULL처리, 출력 이름 설정 등으로 마무리하면 된다. 풀이
문제 문제링크 접근 처음에 단순 조인으로 엄청 간단한 문제인 줄 알았는데 flavor이 같아도 id가 다른 경우가 있어서 이에 대해 고민해야 한다. 간단하게 flavor이 같은 모든 필드를 묶어야 한다를 떠올리니 Group by로 쉽게 풀 수 있었다. 풀이
문제 문제링크 접근 "이게 왜 틀리지? 문제 오류인가?" 인가를 정말 많이 반복하였다. 그런데 결론적으로 문제에는 오류 하나 없어서 머쓱하였다. (2021년에 가입한 회원 중 상품을 구매한 회원수) / (2021년에 가입한 전체 회원 수)를 최종적으로 구현해야 하는데 편의상 (분자) / (분모)로 별칭한다. 풀이할 때 아래 논리적 오류 큰 2가지 함정을 조심해야 한다. 한 사람이
문제 문제 링크 접근 날짜 연산 함수 이용 GROUP BY, JOIN 이용 풀이
문제 문제링크 접근 서브 쿼리로 각 음식 분야 별로 최대값을 구한다. RIGHT JOIN을 하여 최대값에 row에 합성한다. 풀이
문제 문제링크 접근 리뷰에 대해 식당 데이터를 JOIN 연산한다. 식당번호를 기준으로 GROUP BY 연산하고, ROUND, AVG 함수를 원하는 결과값을 얻는다. GROUP BY에 대해 조건을 걸기 위해 HAVING과 LIKE를 이용하여 서울 식당을 필터링한다. 두 가지 기준으로 정렬한다. 따로 서브쿼리까지 할 필요는 없다. 풀이
문제 문제링크 접근 MAX, ORDER BY 후 LIMIT 1을 하면 최대 개수가 여러 명인 경우에 논리적 오류가 생긴다. RANK를 이용해야 한다. GROUP BY, RANK, 서브 쿼리, 조인, 정렬이 모두 사용된다. 원래는 개인적으로 풀이하려다가 더 나은 정답이 있는지 검색해보았는데 게시글이 딱히 없어서 공유를 위해 게시글을 작성하였다. 풀이