문제풀이/SQL
-
SQL - 특정 최대 값을 가진 행 찾기문제풀이/SQL 2024. 4. 9. 17:50
코딩테스트 연습 - 즐겨찾기가 가장 많은 식당 정보 출력하기 | 프로그래머스 스쿨 (programmers.co.kr) 내가 낸 답은 max활용 select food_type, rest_id, rest_name, favorites from (SELECT food_type, rest_id, rest_name, favorites, max(favorites) over(partition by food_type) as max_fvr from rest_info)a where favorites = max_fvr order by 1 desc max값을 조건 column에 따라 나누는 방식을 활용하였다. max(column) over(partition by 'column') as '' where 문의 조건 다는 방법. #..
-
SQL - 가격'대'별 구분문제풀이/SQL 2024. 4. 9. 16:40
-- 코드를 입력하세요 SELECT case when price between 0 and 9999 then '0' when price between 10000 and 19999 then '10000' when price between 20000 and 29999 then '20000' when price between 30000 and 39999 then '30000' when price between 40000 and 49999 then '40000' when price between 50000 and 59999 then '50000' when price between 60000 and 69999 then '60000' when price between 70000 and 79999 then '70000..
-
SQL - 문제문제풀이/SQL 2024. 4. 3. 17:08
count 의 활용 SELECT substr(product_code,1,2) 'category', count(1) product from product group by 1 count(*) count(expression) == count(1) (1) 의 경우, 함수에 상수값 1을 전달하여 모든 행을 세는 방법이다. 이는 존재 여부 상관없이 각 행에 대해 1을 세는 것은 사실상 모든 행의 존재 여부를 확인하는 것과 같다 => null값을 가진 행이라도 그 행을 포함하여 카운트한다. count(column) 함수에 특정 열이나 표현식을 전달할 수 있습니다. 이 경우, 해당 열이나 표현식에서 NULL이 아닌 값을 가진 행의 수를 반환합니다. 따라서 특정 열의 NULL 값을 제외한 행의 수를 계산할 수 있습니다...
-
SQL 문제 풀이 - 2일차문제풀이/SQL 2024. 3. 29. 16:04
코딩테스트 연습 - 어린 동물 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr where is not intake_condition 'aged' 이를 where intake_conditon != 'aged' 라고 표현 하여야 함. 여려 기준 정렬 SELECT animal_id, name, datetime from animal_ins order by 2 desc , 3 asc 각 기준별 내림 오름차순 정렬 가능. 순서 상관 없음. null 값 처리 - replace [SQL] IF, CASE 절 ..
-
SQL 문제 - 상위n개문제풀이/SQL 2024. 3. 27. 15:42
동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요. 코딩테스트 연습 - 상위 n개 레코드 | 프로그래머스 스쿨 (programmers.co.kr) 더보기 -- 코드를 입력하세요 -- 1. 열에 번호를 부여하여 where 로 1번 찾기 -rownum -- 2. 특정 명령어 top n, top %, limit -- 3. 연산 가능한 숫자를 이용하여 연산자를 통해 -- group 으로 묶고 이를 subquery로 만든 뒤 이름만 추출 select name from (select 시기,sum (년), name, 년 from (SELECT DATE_FORMAT(datetime, '%Y/%m/%d') '시기' ,name, date_format(date(datetime), '%y') '..