카테고리 없음

SQL (group by , having 사용)

SQL-Basic 2024. 8. 16. 15:50

문제 내용

 

 

1. 동물 이름과 쓰인 횟수를 같이 조회 -> Group By 사용

2. 횟수가 두번 이상인 것만 조회 -> having 사용

3. 이름이 없는 동물은 집계에서 제외  -> 1일차 Order by 설명참고

4. 결과는 이름순으로 조회 -> 1일차 Order by 설명참고

 

Group By

설명

SQL 쿼리에서 결과를 특정 컬럼을 기준으로 그룹화를 진행할 때 사용

이를 통해 중복된 데이터를 그룹별로 집계할 수 있으며, 일반적으로 집계 함수(COUNT, SUM, AVG, MAX, MIN 등)와 함께 사용된다.

 

기본문법

더보기

SELECT department, COUNT(employee_id) as employee_count

FROM employees

GROUP BY department;

 

employees테이블내에 department 컬럼 기준으로 그룹화하여 department 각각의 employee_id를 카운터하여 나타낸다.

count 컬럼 name - employee_count

 

Having

HAVING은 GROUP BY로 그룹화된 결과에 조건을 적용할 때 사용된다, 

WHERE 절과 유사하지만, WHERE 절은 그룹화되기 전에 행을 필터링하는 데 사용되고,

HAVING 절은 그룹화된 후 결과에 대해 조건을 적용된다 .

따라서, 그룹화결과에 대한 조건 WHERE 절이라고 생각하면 쉽다.

 

기본문법

더보기

SELECT department, COUNT(employee_id) as employee_count

FROM employees

GROUP BY department

HAVING COUNT(employee_id) >= 10;

 

문제정답

SELECT name, count(name) as COUNT
from animal_ins
group by datetime
having datetime > 1
order by name asc