반응형

전체 글 115

HackerRank(해커랭크) MySQL Occupations 문제 답

*MySQL 버전, advanced select 문제입니다. 해커랭크 Occupations 문제, 샘플, 설명 직업별(D, P, S, A) 컬럼 분류 직업별 컬럼에 해당되는 사람 이름 알파벳 순 정렬 컬럼에 더 이상 사람 이름이 없다면 NULL 처리 대충 첫 번째 컬럼은 의사들, 두 번째 컬럼은 교수들, 세 번째 컬럼은 가수들, 네 번째 컬럼은 배우들 이름이어야 하고 빈 셀은 NULL 처리하라는 말. 해커랭크 Occupations 답 WITH 가독성을 위해 사용 CASE WHEN 직업별로 이름을 가져오고자 사용(WHERE occupation = 'doctor'처럼 쓴 것임) ROW_NUMBER, PARTITION BY NULL처리 때문에 엄청 까다롭다고 생각한 문제다. 그저 단순하게 CASE WHEN이나..

HackerRank(해커랭크) MySQL The PADS 문제 답

*MySQL 버전, advanced select 문제입니다. 해커랭크 The PADS 문제, 샘플, 설명 💡 쿼리 2개 작성 첫 번째 쿼리: 이름(직업명 앞글자) 형식 이름: 알파벳 순 정렬 직업명: 앞글자 하나만 대문자로 가져오기 두 번째 쿼리: 포맷에 따라 직업별 카운트 및 해당 직업명 가져오기 직업 수 오름차순 정렬, 동일값일 경우 알파벳 순 정렬. 직업명: 소문자로 풀네임 가져오기 해커랭크 The PADS 답 CONCAT '이름(직업명), There are a total of [직업 수] [직업명] s.'처럼 특정 포맷의 결과물을 위해, 컬럼 데이터들을 합쳐야 하기에 사용. *추천 글 MySQL CONCAT과 || 유의점, 컬럼(필드) 문자열 합치기 UPPER, LOWER 대문자, 소문자 형식이 ..

HackerRank(해커랭크) MySQL Type of Triangle 문제 답

*MySQL 버전, advanced select 문제입니다. 해커랭크 Type of Triangle 문제, 샘플, 설명 TRIANGLES 테이블 레코드의 삼각형 타입을 구분하는 쿼리 작성하기. 세 변의 길이를 담은 테이블 TRIANGELS. Equilateral: 정삼각형, 세 변 길이 모두 같음 Isosceles: 이등변삼각형, 두 변 길이 같음 Scalene: 삼각형, 세 변 길이 모두 다름 Not A Triangle: 삼각형 아님 대충 A, B, C가 각 변의 길이 데이터를 담고 있음을 보이며, 삼각형 종류를 설명하고 있다. 이때 (13, 14, 30)은 변 A, B의 합이 변 C보다 작아서 삼각형이 아니다. 해커랭크 Type of Triangle 답 CASE WHEN, 비교 연산자 사용 조건별로 ..

HackerRank(해커랭크) MySQL Weather Observation Station 20 문제 답

*MySQL 버전, 집계 함수(Aggregation) 문제입니다. 해커랭크 Weather Observation Station 20 문제, 샘플, 설명 해당 문제 중앙값(median) 정의: 하위(데이터 셋의 절반)와 상위(데이터 셋의 절반)를 구분하는 정중앙 값 소수 4자리까지 반올림 표기 대충 LAT_N의 중앙값을 소수 4자리까지 반올림해서 구하라는 말. 해커랭크 Weather Observation Station 20 답 PERCENT_RANK() 사용 median은 오름차순 정렬 시 50%인 정중앙 값이다. 그러므로 하위%, 상위%를 구할 수 있는 PERCENT_RANK에서 0.5를 조건으로 걸면 중앙값을 구할 수 있다. 인라인 뷰 사용 PECENT_RANK()의 결괏값이 담긴 테이블을 참조. ROU..

HackerRank(해커랭크) MySQL Weather Observation Station 19 문제 답

*MySQL 버전, 집계 함수(Aggregation) 문제입니다. 해커랭크 Weather Observation Station 19 문제, 샘플, 설명 LAT_N 최솟값, 최댓값 = a, b LONG_W 최솟값, 최댓값 = c, d P1(a, c), P2(b, d)의 유클리드 거리(2D) 식 세우기 소수 4자리(4 decimal digits) 표기 대충 두 점 거리를 유클리드 거리(2D)식으로 구하고 산출물은 소수 4자리로 나타내라는 말. 해커랭크 Weather Observation Station 19 답 유클리드 거리 식에 따라 SQRT(), POW() 사용 소수 4자리 표기를 위해 ROUND 사용 #실수 방지, 헷갈릴 때는 주석으로 미리 정리하기 -- a = MIN(LAT_N) -- b = MAX(LA..

HackerRank(해커랭크) MySQL Average Population of Each Continent 문제 답

*MySQL 버전, Basic Join 문제입니다. 해커랭크 Average Population of Each Contient 문제 국가 테이블에서 대륙 이름 가져오기 각 도시별 평균 인구수 구하기 이때, 평균값은 정수로 내림 반환. 공통키: CITY.countrycode = COUNTRY.code 중복 컬럼명들이 있으므로 테이블 구분 유의. 해커랭크 Average Population of Each Continent 답 FLOOR: 숫자를 가장 큰 정수로 내림한다. SELECT country.continent , FLOOR(AVG(city.population)) FROM country, city WHERE city.countrycode = country.code; GROUP BY 1; 추가 정리 GROUP..

HackerRank(해커랭크) MySQL Top Earners 문제 답

*MySQL 버전, 집계 함수(Aggregation) 문제입니다. 해커랭크 Top Earners 문제, 샘플, 설명 문제 의도: aggregation 사용 직원들의 총수입(salary*months) 구하기 최고 총 수입액 구하기 최고 총 수입액 직원 수 구하기 결과값 사이에 공백 두기 대충 샘플에서는 최고 수입액이 69952인데 카운트해보니 킴벌리 혼자라는 말. 해커랭크 Top Earners 답 GROUP BY 1: 총 수입액 기준, 직원 수 카운트 해야하기 위함 내림차순 정렬 및 LIMIT 1: 최고 총 수입액 구하기 위함 결과값들 사이에 공백 두는 것 때문에 CONCAT 사용하려 했으나, 아래 쿼리로도 결과가 같아서 정답. # total earnings: monthly salary*months SEL..

HackerRank(해커랭크) MySQL Weather Observation Station 15 문제 답

*MySQL 버전, 집계 함수(Aggregation) 문제입니다. 해커랭크 Weather Observation Station 15 문제, 샘플, 설명 Western Longtitude(LONG_W) 구하기 이때 구해야 하는 LONG_W는 137.2345보다 작은 Northern Latitude(LAT_N) 값들 중 최댓값. =LONG_W for the largest LAT_N in STATION that is less than 137.2345. 소수 4자리까지 구하기 =Round ~ to 4 decimal places. 해커랭크 Weather Observation Station 15 답 WHERE절 서브 쿼리(중첩 서브쿼리), 비교 연산자 사용 MAX 사용: 137.2345보다 작은 값 중 최댓값 구하기..

HackerRank(해커랭크) MySQL Binary Tree Nodes 문제 답

*MySQL 버전, advanced select 문제입니다. 해커랭크 Binary Tree Nodes 문제, 샘플, 설명 💡 노드 타입 세 가지로 분류하기 Root: 루트 노드, 최상위 노드 Leaf: 리프 노드, 자식이 없는 단말 노드 Inner: 루트, 리프 둘 다 아닌 노드 *노드 관련 글 참조 트리(그래프) - 나무위키 트리를 정의할 때에는 다양한 정의가 쓰이고, 다음은 모두 동치이다. GGG는 회로가 없는 연결 그래프이다.GGG는 회로가 없고, 단순 그래프의 형태를 유지하면서 간선을 추가할 경우 회로가 생긴다 namu.wiki 💡 1 Inner처럼 num node_type 포맷의 결과물 💡 N 오름차 순 정렬 해커랭크 Binary Tree Nodes 답 N에 있는 값이 P에도 있다면 Inner라..

MySQL LIMIT OFFSET 사용법 예제 쉬운 정리

이 글은 MySQL LIMIT과 LIMIT OFFSET 사용법 및 예제를 쉽게 정리한 글입니다.   MySQL LIMIT OFFSET 출력할 행(레코드) 수 지정할 때, 페이징 처리에 사용한다.*페이징 처리: 화면 내 보이는 데이터 범위를 지정하는 방법, 웹사이트 게시판에서 흔히 보임 (ex. 1, 2, 3,... 다음>).   MySQL LIMIT 사용법 LIMIT은 특정 개수의 행만 출력할 때 사용합니다.SELECT [컬럼명]FROM [테이블명]WHERE [조건식]LIMIT [출력할 행 개수];   MySQL LIMIT 사용법 예제 샘플 테이블 score_info입니다.classscoreeng89math90art65history74music59p.e94 SELECT class, scoreFROM sc..

SQL/MySQL 2023.09.29
반응형
top