참고: https://school.programmers.co.kr/learn/courses/30/lessons/151138 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 다음처럼 START_DATE와 END_DATE는 년-월-일만 출력해야하고, END - START의 날짜 뺀 값이 30일 이상이면 장기 대여, 아니면 단기 대여라는 RENT_TYPE의 새로운 컬럼에 데이터를 추가해야한다. 또한, 대여 시작일이 9월인 경우에만 출력하고, ID 순으로 내림차순 정렬해야한다. SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') as START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') as END_DATE, IF(DATEDIF..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/59413 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 다음 예제와 같이 23시까지 없는 시간과 카운트도 출력돼야 한다. 근데, 해당 테이블에는 7부터 시간을 출력할 수 있는데 나머지 0부터 23 중 없는 시간은 어떻게 출력해야 할까? https://stackoverflow.com/questions/54643238/what-is-mysql-query-to-print-1-to-10
참고: https://school.programmers.co.kr/learn/courses/30/lessons/132202 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예제를 보게 되면 진료과코드, 5월예약건수 라는 컬럼명으로 출력해야한다. SELECT MCDP_CD as "진료과 코드", COUNT(MCDP_CD) as '5월예약건수' FROM APPOINTMENT WHERE APNT_YMD LIKE '%-05-%' GROUP BY MCDP_CD ORDER BY COUNT(APNT_NO) ASC, MCDP_CD ASC 처음에 GROUP BY에 MCDP_CD, APNT_NO를 기준으로 해서 그룹을 묶었는데, 이렇게 하면 진료과 코드와 예약 날짜를 모두 맵핑하여 FM,FM,GS,GS 이렇게 따로 중복돼서 나..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/151137 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 조건으로는 CAR_TYPE과 차의 개수를 출력하면서 동시에 옵션에 통풍시트, 열선시트, 가죽시트가 포함되어 있어야 한다. SELECT CAR_TYPE, COUNT(CAR_TYPE) as CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS REGEXP '통풍시트|열선시트|가죽시트' GROUP BY CAR_TYPE ORDER BY CAR_TYPE ASC CAR_TYPE이 중복되는 것을 묶는 과정에서 REGEXP는 파이프라인으로 여러개의 LIKE 연산을 수행할 수 있는데, 이렇게 함과 동시에 오름차순 정렬을 수행하..
참고: https://school.programmers.co.kr/learn/courses/30/lessons/59041 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 예시처럼 중복된 사람의 이름과 중복된 횟수를 출력하면 된다. SELECT NAME, COUNT(NAME) FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >= 2 ORDER BY NAME GROUP BY로 묶으면 중복을 제거한 것을 자동으로 카운팅하는데, 이때 조건으로 HAVING절에 2 이상을 삽입한 후 이름 순으로 정렬한다. 화이팅 💪
참고: https://school.programmers.co.kr/learn/courses/30/lessons/133026 ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 문제가 굉장히 길어서 어려워 보이지만 사실 별거(?) 아니다. 왜냐하면, 앞선 SELECT와 SUM/MAX/MIN 카테고리에서 미리 공부했기 때문이다. 조건을 다음과 같이 엮어보도록 하자. 1) 2개의 테이블을 합쳐보자 ((INNER) JOIN ~ ON) 2) 합친 테이블에서 sugar인지 fruite인지에 따라 GROUP을 묶자 3) TOTAL_ORDER라는 별칭으로 SUM 값을 나타내자 SELECT A.INGREDIENT_TYPE, SUM(B.TOTAL_ORDER) as TOTAL_ORDER FROM ICECREAM_INFO A JOIN..