✔ Window Function레스토랑 요일 별 구매금액 Top 3 영수증[SolveSql top-3-bill]NTILE() OVER() : 지정된 수만큼의 파티션으로 등급을 나누어 각 등급 번호를 반환 RANK() OVER() : 순위 값 중 동등 순위 번호를 같게 나오고 그 다음 순위를 다음 번호를 뺀 그 다음 값을 반환 (1 1 3)DENSE_RANK() OVER() : 순위 값 중 동등 순위 번호는 같게 나오고 그 다음 순위를 다음 번호로 반환 (1 1 2)ROW_NUMBER() OVER() : 동등 순위를 인식하지 않고 매번 증가되는 번호를 반환 (1 2 3)OVER(PARTITION BY) : 이때 파티션을 적용해 파티션 안의 순위를 찾을 수 있음LEAD() OVER() : 지정된 ..
✔ String, Date최근 올림픽이 개최된 도시[SolveSql olympic-cities]/* SELECT : 올림픽 개최년도, 올림픽 개최도시 FROM : games 테이블 WHERE : 2000년 이후 올림픽이 개최된 도시 ORDER BY : 최근에 개최된 도시부터 내림차순 정렬*/SELECT year, UPPER(SUBSTR(city, 1, 3)) AS 'city'FROM gamesWHERE year >= 2000ORDER BY year DESC
✔ Aggregate데이터 그룹으로 묶기[SolveSql group-by]/*SELECT : 콰르텟, x 평균, x 표본 분산, y 평균, y 표본 분산FROM : points 테이블GROUP BY : quartet 컬럼*/SELECT quartet, ROUND(AVG(x), 2) AS 'x_mean', ROUND(VARIANCE(x), 2) AS 'x_var', ROUND(AVG(y), 2) AS 'y_mean', ROUND(VARIANCE(y), 2) AS 'y_var'FROM pointsGROUP BY quartet우리 플랫폼에 정착한 판매자 1[SolveSql settled-sellers-1]/* SELECT : 판매자 ID, 판매자가 판매한 주문 건수 FROM : olist_orde..
✔ JOIN, UNION두 테이블 결합하기[SolveSql join]/* SELECT : 선수 ID FROM : events, records 테이블 WHERE : 종목 이름이 Golf */SELECT DISTINCT R.athlete_idFROM events E JOIN records R ON E.id = R.event_idWHERE E.sport = 'Golf'쇼핑몰의 일일 매출액[SolveSql olist-daily-revenue]/* SELECT : 매출 날짜와 해당 날짜의 매출액 FROM : olist_orders_dataset, olist_order_payments_dataset 테이블 WHERE : 2018년 1월 1일 이후 GROUP BY : 날짜 별 ORDER BY : 매출 날짜 기..
✔ SELECT모든 데이터 조회하기[SolveSql select-all]/* SELECT : 모든 데이터 FROM : points 테이블*/SELECT *FROM points일부 데이터 조회하기[SolveSql select-where]/* SELECT : 데이터 FROM : points 테이블 WHERE : quartet 컬럼의 값이 I*/SELECT *FROM pointsWHERE quartet = 'I'데이터 정렬하기[SolveSql order-by]/* SELECT : 데이터 FROM : points 테이블 WHERE : quartet 컬럼의 값이 I ORDER BY : y 컬럼의 값을 기준으로 오름차순 정렬*/SELECT *FROM pointsWHERE quartet = 'I'ORD..
✔ GROUP BY자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기[프로그래머스 151137]GROUP BY : 데이터를 그룹화/* SELECT : 자동차 종류와 그에 따른 자동차 대수 FROM : CAR_RENTAL_COMPANY_CAR 테이블 WHERE : 통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차 GROUP BY : 자동차 종류 ORDER BY : 자동차 종류를 기준으로 오름차순 정렬*/SELECT CAR_TYPE, COUNT(CAR_TYPE) AS CARSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트%'GROUP BY CAR..
✔ String, Date조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기[프로그래머스 164671]CONCAT : 둘 이상의 문자열 값을 입력한 순서대로 합쳐서 반환/* SELECT : 첨부파일 경로(/home/grep/src/게시글 ID/파일 ID+파일 이름+파일 확장자) FROM : USED_GOODS_BOARD, USED_GOODS_FILE 테이블 WHERE : 조회수가 가장 높은 중고거래 게시물 ORDER BY : FILE ID를 기준으로 내림차순 정렬*/SELECT CONCAT('/home/grep/src/', A.BOARD_ID, '/', B.FILE_ID, B.FILE_NAME, B.FILE_EXT) AS FILE_PATHFROM USED_GOODS_BOARD A JOIN USED_G..