SQL

[1203 TIL] sql코드카타(substr,hour)

sjy0074 2024. 12. 3. 21:36

문제24번

PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.

 

 

-- 코드를 입력하세요
SELECT count(*)
from product
group by substr(product_code,1,2)
order by product_code asc

1차 시도

 

-- 코드를 입력하세요
SELECT substr(product_code,1,2) as category, count(*) products
from product 
group by substr(product_code,1,2)
order by product_code asc

select 뒤에 가져올 것들을 잘 설정하고 별칭까지 적어주어야 정답.

문제를 잘 읽자.

 

 


 

25번 문제

고양이와 개는 몇 마리 있을까

 

동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요.

 

-- 코드를 입력하세요
SELECT animal_type,count(*)
from animal_ins
group by animal_type
order by animal_type

 정답

 

맨 처음엔 where절 구문을 사용하여 개 고양이 따로 적어보려 했는데, 주어진 데이터가 개와고양이밖에 없는것을 찾게되고 동물타입별로만 그룹지어서 순서만 정렬하면 되었다.

 

 


26번 문제

입양 시각 구하기(1)

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

 

-- 코드를 입력하세요
SELECT hour(datetime) as hour, count(*)
from animal_outs
group by 1
order by 1

1차 시도

별칭 설정을 안함

-- 코드를 입력하세요
SELECT hour(datetime) as hour, count(*) as count
from animal_outs
group by 1
order by 1

2차 시도

시간 조건설정을 안함

-- 코드를 입력하세요
SELECT hour(datetime) as hour, count(*) as count
from animal_outs
where hour(datetime) between 9 and 19
group by 1
order by 1

정답

 

 

 


27번 문제

APPOINTMENT 테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성해주세요. 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정해주시고 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬해주세요.

SELECT mcdp_cd as '진료과코드', count(*)as '5월예약건수'
from appointment
where apnt_ymd like '2022-05%'
group by mcdp_cd
order by count(pt_no) asc, mcdp_cd asc

정답