개발일지/TIL

[TIL/Today I Learned] 코드카타 24-26번, left(),filed(),np.arrange(),hour()

리베린 2024. 1. 17. 20:44
 
[SQL코드카타] 24번 PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.

select left(product_code,2) as category_code,
count(*) product
from product
group by 1
order by 1;
[SQL코드카타] 25번 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요.

select animal_type,
count(*) as count
from animal_ins
where animal_type='cat' or animal_type = 'dog'
group by 1
order by field(animal_type, 'cat', 'dog')
[SQL코드카타] 26번 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.


SELECT HOUR(DATETIME) AS HOUR,
COUNT(HOUR(DATETIME)) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
HAVING HOUR BETWEEN 9 AND 19
ORDER BY HOUR;

 

* left 함수: 문자열을 왼쪽부터 숫자에 맞게 자른 값을 구할 수 있다.

 

 

https://blog.naver.com/lecalmebleu/222951935940 => Filed함수에 대해 정리를 잘 해놓으셨다.

 

* HOUR함수는 datetime에서 시간만 빼준다

 

* np.arrange() 이해하기

=> ex) np.arrange(1, 100, 3) : 1부터 100까지 숫자를 출력할건데 3칸씩 이동시켜줘.

plt.xticks(np.arange(0.5, len(sparta_data_pivot_table.columns), 1), sparta_data_pivot_table.columns)

=> 0.5부터 ' sparta_data_pivot_table.columns' 길이만큼 숫자를 출력할건데 1칸씩 이동시켜줘.