일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 2023년 목표
- leetcode
- docker
- SQL
- hackerrank
- 백준온라인저지
- Airflow
- Data Engineering
- BOT
- 알고리즘
- telegram
- airflow webserver
- datacamp
- MySQL
- airflow architecture
- docker image
- Python
- delete join
- 그리디
- data_engineer
- Pseudo Lab
- Dynamic Programming
- 프로그래머스
- Spark
- 데이터 엔지니어
- 빅데이터를 지탱하는 기술
- dsf
- terraform
- 백준 온라인 저지
- docker container
Archives
- Today
- Total
Lim Seunghyun Space
[HackerRank] The PADS 본문
문제 : https://www.hackerrank.com/challenges/the-pads/problem?isFullScreen=true
The PADS | HackerRank
Query the name and abbreviated occupation for each person in OCCUPATIONS.
www.hackerrank.com
문제 해설
- 쿼리는 총 2개로 구성
- 이름(직업의 첫글자)로 출력하되 이름은 알파벳 순으로 정렬해서 조회 (Ex) Name : Anna Occupation : Doctor라면 Anna(D)
- "There are a total of <각 직업별 카운트> <직업명>s."으로 출력하면서 갯수와 직업 순으로 정렬하면서 조회 (Ex) Doctor가 4명이라면 "There are a total of 4 doctors." -> 직업명은 소문자로 치환
나의 풀이 <MySQL>
SELECT CONCAT(Name, "(", LEFT(Occupation, 1), ")")
FROM OCCUPATIONS
ORDER BY Name;
SELECT CONCAT("There are a total of ", COUNT(Occupation), " ", LOWER(Occupation), "s.")
FROM OCCUPATIONS
GROUP BY Occupation
ORDER BY COUNT(Occupation), Occupation;
- CONCAT을 이용하여 문자열을 연결하여 원하는 형태로 완성하였다.
- CONCAT(문자열1, 문자열2, 문자열3, ... , 문자열n) : 문자열1부터 문자열n까지 나열한 결과
- LEFT로 직업의 첫 글자를 추출하는데 이용
- LEFT(문자열, n) : 문자열에서 n번까지의 문자열을 추출
LOWERS(문자열) : 문자열을 모두 소문자로 변환
728x90
'SQL > SQL 문제' 카테고리의 다른 글
[Leetcode] 181. Employees Earning More Than Their Managers (0) | 2022.03.23 |
---|---|
[HackerRank] Type of Triangle (0) | 2021.11.30 |
[HackerRank] Employee Salaries (0) | 2021.11.22 |
[HackerRank] Employee Names (0) | 2021.11.22 |
[HackerRank] Weather Observation Station 12 (0) | 2021.11.21 |