본문 바로가기

프로그래머스7

[Oracle] TRUNC과 GROUP BY 이용한 구간별 통계 조회 쿼리 가격대 별 상품 개수 구하기 예제를 통해서, 구간별로 통계를 구하는 쿼리를 작성해봅니다. 아래 예제에서는 집계함수 COUNT를 사용합니다. [ Contents ] 1. 문제 (링크 참조) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예제 문제는 프로그래머스 '가격대 별 상품 개수 구하기'를 참조합니다. PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 작성 2. 문제 풀이 GROUP BY 구문은 지정된 칼럼들의 값이 같은 것끼리 묶어서 집계할 수 있도록 해줍니다. 그룹별로 묶어서 통계를 내는 데에 사용하며, 해당 구문의 자세.. 2024. 1. 11.
[정렬/탐색] 프로그래머스 K번째 수 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 2. 문제 풀이 주어진 배열의 일정 범위 내 K번째 수를 구하는 문제입니다. sorted(lst): lst 내 원소를 오름차순으로 정렬 파이썬의 sorted() 함수를 이용하면 쉽게 구할 수 있습니다. 3. 코드 def solution(array, commands): answer = [] for i, j, k in commands: answer.append(sorted(array[i-1:j])[k-1]) return answer sorted() 함수를 사용해서 해당 범위의 배열을 .. 2022. 4. 17.
[SQL] 문자열 변환함수 To_Char()와 형식(Format) - 오라클(Oracle) [ Contents ] 1. 문제 (링크 참조) 코딩테스트 연습 - 입양 시각 구하기(1) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 2. 문제 풀이 TO_CHAR(값, '형식') To_Char는 날짜나 숫자를 '특정 형식'의 문자열로 변환해주는 함수입니다. 단순히 자료형을 바꾸기보다는, 결과를 보기 좋게 출력할 때 많이 사용합니다. 형식(Format) 설명 (예시) YYYY 년도 (2022) MM 월 (03) DD 일 (05) HH24 24시간.. 2022. 3. 9.
[SQL] DISTINCT 중복 제거하기 - 오라클(Oracle) [ Contents ] 1. 문제 (링크 참조) 코딩테스트 연습 - 중복 제거하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 문제 풀이 DISTINCT col SQL에서 DISTINCT는 중복을 제거해줍니다. 유일한 값만을 남겨서 추출합니다. 3. 코드 SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS WHERE NAME IS NOT NULL 위 쿼리는 동명이인을 제외하고, 유일한 이름의 개수를 출.. 2022. 3. 8.
[SQL] Having 그룹핑 조건 설정하기 - 오라클(Oracle) [ Contents ] 1. 문제 (링크 참조) 코딩테스트 연습 - 동명 동물 수 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 문제 풀이 Group by col Having 조건 Group by로 묶일 조건을 Having절로 설정할 수 있습니다. Having절의 조건에 해당하는 col만 묶이며, 나머지는 제외됩니다. 3. 코드 SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROU.. 2022. 3. 7.
[SQL] 특정 칼럼으로 묶기 Group by - 오라클(Oracle) [ Contents ] 1. 문제 (링크 참조) 코딩테스트 연습 - 고양이와 개는 몇 마리 있을까 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 문제 풀이 group by col Group by는 특정 칼럼으로 묶어서 연산하도록 해줍니다. 그룹별로 묶어서 연산하므로, 반드시 '집계 함수' 또는 '그룹 함수'를 써줘야 합니다. max(col) 최댓값 min(col) 최솟값 median(col) 중앙값 count(col) 개수 sum.. 2022. 3. 6.
[SQL] 상위 n개 레코드 출력하기 - 오라클(Oracle), MySQL [ Contents ] 1. 문제 (링크 참조) 코딩테스트 연습 - 상위 n개 레코드 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 문제 풀이 예시는 상위 N개의 레코드를 구하는 문제입니다. Oracle) WHERE rownum = N MySQL) LIMIT N ORDER BY col 먼저 특정 컬럼에 대해 오름차순/내림차순 정렬 후 N개의 레코드만 뽑아냅니다. Orcale은 rownum의 개수를 한정해서 상위 N개의 레코드를 추.. 2022. 3. 5.