세조목

SQL(집계함수 및 limit 사용 가능한 위치)(24.05.21) 본문

데이터 분석 공부/SQL

SQL(집계함수 및 limit 사용 가능한 위치)(24.05.21)

세조목 2024. 5. 21. 11:52

1. window 함수에 집계함수 사용 가능

rank() over()와 window 함수에 집계함수가 가능합니다.

SELECT RANK() OVER(COUNT(ANIMAL_ID) DESC)
FROM ANIMAL_OUTS

이런식으로 말이죠.

위 쿼리의 결과값은 ANIMAL_ID의 개수를 COUNTING하는데 그 수가 많은 순서대로 RANK가 매겨질겁니다.

 

2. WHERE절에 들어가는 서브쿼리에 LIMIT 사용 가능

서브쿼리에는 LIMIT을 사용할 수 없는 것으로 알고 있었습니다.

그러나 WHERE 절에 들어가는 서브쿼리에는 LIMIT을 사용할 수 있는 것으로 확인했습니다.

SELECT NAME
FROM PEOPLE
WHERE ID IN (
	SELECT ID
    FROM PEOPLE
    ORDER BY COUNT(ID) DESC
    LIMIT 1
    )
ORDER BY NAME

위와같이 쿼리문을 작성하면 ID의 개수가 가장 많은 ID를 조건으로 지정할 수 있습니다.