본문 바로가기

SQL

[SQL 챌린지] 해커랭크 정복하기 Day 9

✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..)

 

🚀 이 포스팅 보신분 챌린지에 함께해요🤗 (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.)


[문제]

[The PADS]

 


1. 이름과 함께 괄호안에 직업의 첫번째 글자를 이름의 알파벳순으로 출력하세요.

2. 현재 테이블의 직업이 몇개인지 카운트하는 쿼리를 작성하세요. 포맷은 아래와 같이 작성하세요.

'There are a total of [occupation_counts] [Occupation]s'

 

[풀이]

[Oracle] 

SELECT Name || '(' || SUBSTR(Occupation,1,1) || ')'
FROM Occupations
ORDER BY Name;

SELECT 'There are a total of ' || COUNT(Occupation) || ' ' || LOWER(Occupation) || 's.'
FROM Occupations
GROUP BY Occupation
ORDER BY Count(Name), Occupation;

 

✍ 쌍파이프 || 는 SQL에서 글자를 합치는 기능이다.

 

✍ 직업별 count를 하려면 GROUP BY를 수행해야 한다. GROUP BY없이 수행하면 오류발생!

 

✅결과 쿼리 확인하기

 


문제출처: www.hackerrank.com/challenges/the-pads/forum

 

Discussion on The PADS Challenge

Query the name and abbreviated occupation for each person in OCCUPATIONS.

www.hackerrank.com