문제 링크
Name, Occupation 두 개의 column이 있는 "OCCUPATIONS"라는 테이블이 있다.
1. 먼저, name이 알파벳 순서대로 정렬되어 나타난다. 단, name만 나타나는 것이 아니고 해당 name의 Occupations의 첫글자도 함께 보여주어야 한다.
2. Occupations의 count 순서대로 정렬하고, 그 순서가 같다면, Occupation을 알파벳 순서대로 정렬해서 보여주어야 한다.
1.
문자열에서 필요한 만큼 자를 때 사용 한 것 : LEFT함수
Occupation = "Doctor" 라면,
LEFT(Occupation, 1) : D // 해당 Occupation에서 왼쪽에서부터 1글자만 자른다.
문자열을 서로 붙일 때 사용한 것 : concat
2.
Occupation의 count횟수 순서로 정렬한다 :
-> order by count(Occupation)가 사용되겠지,,?
-> 해당 Occupation에 대한 count인지 어떻게 알지 ?? => group by 사용
Select concat(Name, concat(concat( "(", LEFT(Occupation, 1)), ")"))
From OCCUPATIONS
ORDER BY Name;
Select concat(concat("There are a total of ", COUNT(Occupation)), concat(" " , Lower(Occupation), "s."))
from OCCUPATIONS group by Occupation
order by COUNT(Occupation);