728x90

문제

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

해석
다음 두 결과 세트를 생성합니다.

알파벳 순으로 정렬된 OCCUPATIONS 테이블의 모든 이름 목록을 쿼리한 다음 각 직업의 첫 번째 문자(예: 괄호로 묶음)를 바로 뒤에 표시합니다. 예: AnActorName(A), ADoxtorName(D), AProfessorName(P) 및 ASingerName(S)이 있습니다.
OCCUPATIONS 테이블에서 각 직업의 발생 횟수를 쿼리합니다. 발생 횟수를 오름차순으로 정렬하고 다음 형식으로 출력하십시오.

There are a total of [occupation_count][occupation]s.

여기서 [operation_count]는 OCCUPATIONS 테이블에서 발생한 직업의 횟수이고 [operation]은 소문자 직업 이름입니다. 둘 이상의 직업이 동일한 [occupation_count]을 가진 경우 알파벳 순으로 정렬해야 합니다.

참고: 각 직업 유형에 대해 테이블에 항목이 두 개 이상 있습니다.

 

풀이(MSSQL)

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(TEXT1,TEXT2) - TEXT1과 TEXT2의 문자열을 합치는 함수

 

300x250