본문 바로가기

DB

(14)
[MYSQL] PGS - 재구매가 일어난 상품과 회원 리스트 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*)>=2 ORDER BY USER_ID, PRODUCT_ID DESC; GROUP BY 두 개 이상으로 할 때에는 GROUP BY에 그룹핑할 컬럼명을 적어주면 된다. SELECT 에도 GROUP BY에 사용한 컬럼명이 있어야한다.
[MYSQL] PGS - 오프라인/온라인 판매 데이터 통합하기 https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT DATE_FORMAT(SALES_DATE,"%Y-%m-%d") AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE DATE_FORMAT(SALES_DATE,"%Y-%m")="2022-03" UNION SELECT DATE_FORMAT(SALES_DATE,"%Y-%m-%d") AS SALES_DATE, PRO..
[MYSQL] PGS - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT CAR_ID, MAX(CASE WHEN CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE DATE_FORMAT(START_DATE,'%Y-%m-%d')='2022-10-16') THEN '대여중' ELSE '대여 가능' END) AS AVAILABILITY FROM CAR_RENTAL_COMPANY_RENTA..
[MySQL] PGS - 서울에 위치한 식당 목록 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/131118 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS, ROUND(AVG(B.REVIEW_SCORE),2) AS SCORE FROM REST_INFO A JOIN REST_REVIEW B ON A.REST_ID=B.REST_ID GROUP BY B.REST_ID HAVING A.ADDRESS LIKE '서울%' ORDER BY S..
[MySQL] NULL NULL : 정의되지 않은 값. 아예 값이 없는 것. Oracle과 MySQL에서는 NULL을 가장 큰 값으로 간주한다. MySQL에서 NULL을 제일 앞으로 보내고 싶을때는 정렬을 두번 해주면 된다. (null인 값 먼저 정렬 후 나머지 정렬하는 식으로) select * from table_1 order by user_id is null desc, user_id desc; NULL 연산 : NULL 값을 포함한 연산은 결과값도 NULL 이다. NULL 선택 : NULL은 존재하지 않는 값이기 때문에 부등호 사용 불가. is null/ is not null을 사용한다. NULL 함수 IFNULL(expr1, expr2) expr1이 null인 경우 expr2를 반환하며 그렇지 않은 경우 expr1을 반환..
[MySQL] UNION ALL UNION (DISTINCT) : 쿼리의 결과를 합친다. 중복된 ROW는 제거한다. select * from table_1 union distinct select * from table_2; UNION ALL : 중복 제거 하지 않는다. select * from table_1 union all select * from table_2; UNION ALL 은 중복제거를 하지 않으므로 UNION보다 실행 속도가 빠르다.
[MySQL] PGS - 오프라인/온라인 판매 데이터 통합하기 https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr select date_format(sales_date,'%Y-%m-%d') as SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE YEAR(sales_date)=2022 and MONTH(sales_date)=3 union all select date_format(sales_date,'%Y-%m-%d') as SALES_D..
[MySQL] DATETIME 원하는 유형으로 출력하기 DATE_FORMAT(컬럼명, '%y-%m-%d') FormatDescription %a Abbreviated weekday name (Sun to Sat) %b Abbreviated month name (Jan to Dec) %c Numeric month name (0 to 12) %D Day of the month as a numeric value, followed by suffix (1st, 2nd, 3rd, ...) %d Day of the month as a numeric value (01 to 31) %e Day of the month as a numeric value (0 to 31) %f Microseconds (000000 to 999999) %H Hour (00 to 23) %h Hou..