본문 바로가기

DBMS/MySQL6

[프로그래머스 고득점 키트] 입양 시각 구하기 2 예시 사진에는 짤렸지만 요구사항에서 말한 바와 같이 hour은 23까지 나와야한다. SET @HOUR = -1; SELECT (@HOUR := HOUR+1) AS HOUR, (SELECT COUNT(DATETIME) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR) AS COUNT FROM ANIMAL_OUTS WHERE @HOURS < 23; 먼저 @HOURS를 -1로 초기화하고 HOUR+1를 하면서 0부터 23까지 세팅(WHERE 절)해준다. 2024. 3. 27.
[프로그래머스 JOIN] 주문량이 많은 아이스크림들 조회하기 + 없어진 기록 찾기 문제 1. 주문량이 많은 아이스크림들 조회하기 SELECT J.FLAVOR FROM FIRST_HALF AS F JOIN JULY AS J ON F.FLAVOR = J.FLAVOR GROUP BY F.FLAVOR ORDER BY (SUM(J.TOTAL_ORDER) + SUM(F.TOTAL_ORDER)) DESC LIMIT 3; 문제 2. 없어진 기록 찾기 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS AS OUTS LEFT JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL; 2024. 3. 12.
[프로그래머스 고득점 키트] SELECT SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY 1,2 --유저 아이디와 상품 아이디가 같은 컬럼을 그룹화하여 조회 HAVING COUNT(PRODUCT_ID)>1 ORDER BY USER_ID ASC, PRODUCT_ID DESC --유저 아이디로 오름차순 정렬, 유저아이디가 같다면 상품 아이디로 내림차순 SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID,SALES_AMOUNT FROM ONLINE_SALE WHERE MONTH(SALES_DATE) = 3 UNION SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE,.. 2024. 3. 11.
[프로그래머스] 3월에 태어난 여성회원 목록 출력하기 여기서 주의해야 할 점은 1. 전화번호가 null인 경우는 출력 대상에서 제외하고 2. 결과는 회원 id 기준으로 오름차순 정렬해야 하며 3. DATE_OF_BIRTH의 데이터 포맷이 예시와 동일해야 한다 는 점이다. SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRT, %Y-%m-%d) AS DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE MONTH(DATE_OF_BIRTH) = 3 AND TLNO IS NOT NULL AND GENDER = 'W' ORDER BY MEMBER_ID; 2024. 3. 11.