반응형

2024/02/22 14

[MYSQL] PROGRAMMERS_자동차 평균 대여 기간 구하기

SELECT CAR_ID, ROUND(AVG(datediff(END_DATE,START_DATE)+1),1)AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY where 1=1 GROUP BY 1 HAVING AVERAGE_DURATION >= 7 ORDER BY 2 desc,1 desc CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE 는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냄 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들..

[MYSQL] PROGRAMMERS_조건에 부합하는 중고거래 상태 조회하기

SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATUS = "SALE" then "판매중" WHEN STATUS = "RESERVED" then "예약중" WHEN STATUS = "DONE" then "거래완료" end as STATUS FROM USED_GOODS_BOARD WHERE 1=1 AND CREATED_DATE = "2022-10-05" order by 1 desc BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS은 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미 문제 USED_GOODS_BOARD 테이블에서 2..

[MYSQL] PROGRAMMERS_재구매가 일어난 상품과 회원 리스트 구하기

SELECT USER_ID,PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID,PRODUCT_ID having count(USER_ID) > 1 ORDER BY 1,2 desc ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냄 문제 ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성. 결과는 회원 ID를 기준으로 오름차순 정렬 후 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬 해당 문제는 having으로 처리하면 간단한 문제..

[MYSQL] PROGRAMMERS_가격대 별 상품 개수 구하기

SELECT truncate(PRICE,-4) as PRICE_GROUP, COUNT(PRODUCT_CODE) as PRODUCTS FROM PRODUCT group by 1 order by 1 PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. 문제 PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성후 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정, 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시. 결과는 가격대를 기준으로 오름차순 정렬 솔직히 이 문제는 어떻게 풀어야 하나 하다 case when 구문으로 구간별로 하나하나..

반응형