전체 글
-
[프로그래머스]Lv.1 문제 모음SQL 2023. 4. 13. 18:01
호기롭게 Lv.4 문제를 도전하였으나 기초 연습을 해야할 필요성을 느껴 Lv.1부터 다시 시작. 1. 모든 레코드 조회하기 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; 쉽다..신난다 2. 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; 이런 것만 하고 싶다.. 3. 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION= 'Sick' ORDER BY ANIMAL_ID; 4. 어린 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE intake_condition !='aged' ORD..
-
[프로그래머스]입양 시각 구하기(Lv.4)SQL 2023. 4. 12. 15:47
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 먼저, 전체 테이블 구조 확인을 했다. 문제에서 각 컬럼에 대해서 알려주지만, 직접 보는 것이 더 와닿는다. SELECT * FROM ANIMAL_OUTS; Date time은 yyyy-mm-dd 00:00:00 형식으로 되어있었다. 2013-12-22 11:30:00 우리에게 필요한 것은 '시간대' 2자리 숫자 뿐이다. 24시간으로 되어있다. 시간대를 구한다음 각 시간대를 COUNT 함수를 쓰면 될 것 같다. 날짜 형식을 바꾸기 위해서는 DATE_FORMAT 을 사용하면 된다고 한다. htt..
-
[프로그래머스]우유와 요거트가 담긴 장바구니(Lv.4)SQL 2023. 4. 12. 00:33
데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 가장 먼저 테이블을 확인해보니 아이템들이 분리되어 있어서 일단 합치는 것이 필요하다고 생각했다. 검색해보니 group_concat을 사용하면 된다고 나왔다. group_concat을 사용하여 여러 열에 있는 cart에 담긴 아이템들을 한 줄로 묶고, 거기에 milk와 yogurt가 들어있는 cart_id를 추출하려고 했다. SELECT cart_id, group_concat(name) as name FROM cart_products WHERE name in..
-
[프로그래머스]식품분류별 가장 비싼 식품의 정보 조회하기(Lv.4)SQL 2023. 4. 10. 10:09
FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요. 이때 식품분류가 '과자', '국', '김치', '식용유' 인 경우만 출력시켜 주시고 결과는 식품 가격을 기준으로 내림차순 정렬해주세요. 첫 번째 시도는 실패. SELECT category, max(price) as MAX_PRICE , product_name FROM food_product GROUP BY category HAVING category IN ('과자', '국', '김치', '식용유') ORDER BY max_price DESC; 왜 실패했는지 다음의 블로그 글을 보고 알았다. https://sd23w.tistory.com/32 group by로 뽑아온 값중에 가장큰..