Firefly Pointer 궁금하신 점이 있다면 댓글로 남겨주세요.(2023년~ 노션으로 이동) — 궁금하신 점이 있다면 댓글로 남겨주세요.(2023년~ 노션으로 이동)
전체 글

전체 글

    [Programmers] no59408: 중복 제거하기

    [Programmers] no59408: 중복 제거하기

    문제 -- 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회 -- 이름이 NULL인 경우는 집계하지 않으며 -- 중복되는 이름은 하나로 침 풀이방법 중복 제거 : DISTINCT DISTINCT 컬럼명 (* null인경우는 제외됨?) 나의 코드 SELECT COUNT(DISTINCT NAME) AS "count" FROM ANIMAL_INS

    [Programmers] no59409: 중성화 여부 파악하기

    [Programmers] no59409: 중성화 여부 파악하기

    문제 -- 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. -- 동물의 아이디와 이름, 중성화 여부를 -- 아이디 순으로 조회 -- 중성화가 되어있다면 'O', 아니라면 'X'라고 표시 풀이방법 * 특정 조건에 따른 필터링 및 값 변경 CASE WHEN (컬럼명 LIKE 조건) THEN 변경값 WHEN (컬럼명 LIKE 조건) THEN 변경값 ELSE 그외변경값 END AS 새컬럼명 나의 코드 SELECT ANIMAL_ID, NAME, CASE WHEN (SEX_UPON_INTAKE LIKE "%Neutered%") OR (SEX_UPON_INTAKE LIKE "%Spayed%") THEN "O" ELSE "X" END AS "중성화"..

    [Programmers] no59412#: 입양 시각 구하기(1) [시간 범위 내 필터]

    문제 -- 보호소에서는 -- 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. -- 09:00부터 19:59까지, -- 각 시간대별로 입양이 몇 건이나 발생했는지 조회 -- 결과는 시간대 순으로 정렬 풀이방법 1. HAVING + DATE_FORMAT을 이용한 풀이법 DATE_FORMAT(컬럼, "%H") 사용 HAVING 으로 필터링 2. WHERE + HOUR를 이용한 풀이법 HOUR(컬럼명) 으로 시간 조건 WHERE로 필터링 나의 코드 1. HAVING + DATE_FORMAT을 이용한 풀이법 SELECT DATE_FORMAT(DATETIME, "%H") AS HOUR, COUNT(DATETIME) AS "COUNT" FROM ANIMAL_OUTS GROUP BY HOUR HAVING H..

    [Programmers] no131115: 가격이 제일 비싼 식품의 정보 출력하기 [상위 1개]

    문제 -- FOOD_PRODUCT 테이블에서 -- 가격이 제일 비싼 식품의 -- 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회 나의 코드 SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC LIMIT 1 레퍼런스 코드 참고 링크 : https://radpro.tistory.com/590

    [Programmers] no131120: 3월에 태어난 여성 회원 목록 출력하기

    [Programmers] no131120: 3월에 태어난 여성 회원 목록 출력하기

    문제 -- MEMBER_PROFILE 테이블에서 -- 생일이 3월인 여성 회원의 -- ID, 이름, 성별, 생년월일을 조회 -- 전화번호가 NULL인 경우는 출력대상에서 제외 -- 결과는 회원ID를 기준으로 오름차순 정렬 나의 코드 SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, "%Y-%m-%d") AS DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE GENDER LIKE "W" AND DATE_FORMAT(DATE_OF_BIRTH, " %m%") LIKE "%3%" AND TLNO IS NOT NULL ORDER BY MEMBER_ID

    [Programmers) no131529: 카테고리 별 상품 개수 구하기 [두글자만 세기]

    [Programmers) no131529: 카테고리 별 상품 개수 구하기 [두글자만 세기]

    문제 -- PRODUCT 테이블에서 -- 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력 -- 상품 카테고리 코드를 기준으로 오름차순 정렬 풀이방법 -- 왼쪽의 두글자만 선택하는 방법 : LEFT(컬럼명, 2) -- 전체를 조건에 맞게 카운트 할 것이므로 COUNT(*) 나의 코드 SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(*) AS PRODUCTS FROM PRODUCT GROUP BY CATEGORY ORDER BY CATEGORY 레퍼런스 코드 참고 링크 : https://velog.io/@tjwjdgus83/Mysql-131529

    [Programmers] no131530: 가격대 별 상품 개수 구하기

    [Programmers] no131530: 가격대 별 상품 개수 구하기

    문제 -- PRODUCT 테이블에서 -- 만원 단위의 가격대 별로 상품 개수를 출력 -- 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정 -- 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시 -- 가격대를 기준으로 오름차순 정렬 나의 코드 1. SELECT 문에서 구성하기 SELECT FLOOR(PRICE/10000)*10000 AS PRICE_GROUP, COUNT(*) AS PRODUCTS FROM PRODUCT GROUP BY PRICE_GROUP ORDER BY PRICE_GROUP 2. 테이블 설정에서부터 그룹화 # SELECT # PRICE_GROUP, # COUNT(PRICE_GROUP) AS PROD..

    [Programmers] no131533: 상품 별 오프라인 매출 구하기

    [Programmers] no131533: 상품 별 오프라인 매출 구하기

    문제 -- PRODUCT 테이블과 OFFLINE_SALE 테이블에서 -- 상품코드 별 매출액(판매가 * 판매량) 합계를 출력 -- 매출액을 기준으로 내림차순 정렬 -- 매출액이 같다면 상품코드를 기준으로 오름차순 정렬 풀이방법 -- 두 테이블을 같은 컬럼인 PRODUCT_ID로 JOIN -- 두 컬럼의 곱의 합계를 SUM 메소드로 구하고, SALES로 명명 -- PRODUCT_CODE로 그룹화 하고 (그룹화안하면 총합이 되어버림) -- 정렬 나의 코드 SELECT PD.PRODUCT_CODE, SUM(PD.PRICE * OS.SALES_AMOUNT) AS SALES FROM PRODUCT PD INNER JOIN OFFLINE_SALE OS ON PD.PRODUCT_ID LIKE OS.PRODUCT_ID..

    [Programmers] no131536: 재구매가 일어난 상품과 회원 리스트 구하기

    [Programmers] no131536: 재구매가 일어난 상품과 회원 리스트 구하기

    문제 -- ONLINE_SALE 테이블에서 -- 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, -- 재구매한 회원 ID와 재구매한 상품 ID를 출력 -- 결과는 회원 ID를 기준으로 오름차순 정렬 -- 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬 풀이방법 -- 원하는 컬럼 지정 -- 두 컬럼에 대한 COUNT를 해줄 것이므로, 두 컬럼 모두 GROUP BY -- 이때, AND쓰면 합쳐져버리므로, ','사용 -- 두 컬럼 모두 적용해야하므로 COUNT(*) -- 중복 검사이므로, >1이면 2 이상이 되므로 중복 검사 나의 코드 SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*)>1..

    [Programmers] no132202: 진료과별 총 예약 횟수 출력하기

    [Programmers] no132202: 진료과별 총 예약 횟수 출력하기

    문제 -- APPOINTMENT 테이블에서 -- 2022년 5월에 예약한 환자 수를 -- 진료과코드 별로 조회 -- 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정 -- 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬 -- 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬 풀이방법 -- 정렬 조건을 AS로 한 '5월예약건수'로 지정하면 올바르게 수행되지 않음 -- 따라서 ORDER BY COUNT(*)로 지정해줘야 함 나의 코드 SELECT MCDP_CD AS '진료과코드', COUNT(*) AS '5월예약건수' FROM APPOINTMENT WHERE DATE_FORMAT(APNT_YMD, "%Y-%m") LIKE "2022-05%" GROUP BY MCDP_CD ORDE..