SELECT NAME
FROM
(
SELECT NAME ,
RANK () OVER (ORDER BY DATETIME) AS RNK
FROM ANIMAL_INS
) A
WHERE RNK = 1
window 함수 + 서브쿼리 까지 써서 엄청 어렵게 풀었다 ^ ,, ^
정말 밥오같은 나

뭔가 이상한 건 느꼈는지 (^^)
다른 분 어떻게 쓰셨는지 확인해봤더니 !
Limit 으로 상위 n개 값 구할 수 있음 ..
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME LIMIT 1
이렇게 간단한 쿼리인데 . . . ! ! !
근데 여기서 궁금했던 게
MIN 함수 활용해서 아예 WHERE 처리하면 좋지 않나?
싶어서 실행해봤더니 에러가 났다.
SELECT NAME
FROM ANIMAL_INS
WHERE DATETIME IS MIN(DATETIME)
안 되는 이유 : IS 는 NULL 구문에서 사용하는 거임. ' = ' 으로 바꿔보자.
그래도 안 됨.
안 되는 이유 : WHERE절에는 집계함수 MIN 쓸 수 없음 !!!!!!!
'데이터 분석 > SQL' 카테고리의 다른 글
| [day3] DATE_FORMAT 함수로 날짜 형식 고르기 (0) | 2025.02.19 |
|---|---|
| [day3] LIKE 문에서 대소문자 구분하기 (0) | 2025.02.19 |
| [달리기반 SQL] 6번 문제 (0) | 2025.02.13 |
| [SQL] WHERE / HAVING 차이 정리 (0) | 2025.02.13 |
| [달리기반 SQL] 4번 문제 (0) | 2025.02.12 |