컬럼의 값이 가장 큰 행만 가져오도록 하기 위해서는 MAX(컬럼 명)를 활용하거나 서브쿼리 또는 ORDER BY를 사용할 수 있습니다. 다음은 depth가 가장 큰 값만 반환하는 쿼리의 예시입니다.
방법 1: 서브쿼리 사용
SELECT *
FROM test_column
WHERE ancestor = 'test_01'
AND depth = (SELECT MAX(depth)
FROM test_column
WHERE ancestor = 'test_01');
방법 2: ORDER BY와 LIMIT 사용
SELECT *
FROM test_column
WHERE ancestor = 'test_01'
ORDER BY depth DESC
LIMIT 1;
- 방법 1은 MAX(depth)를 서브쿼리로 사용하여 조건을 만족하는 행만 필터링합니다.
- 방법 2는 depth를 기준으로 내림차순 정렬 후 LIMIT를 사용해 가장 큰 값의 첫 번째 행만 반환합니다.
사용하는 데이터베이스 시스템에 따라 LIMIT 대신 TOP 1(SQL Server) 또는 FETCH FIRST 1 ROW ONLY(Oracle, PostgreSQL 등)를 사용할 수 있습니다.
반응형
'개발 (Development) > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] 배열 기반 데이터에서 특정 요소의 기울기 계산하기 (0) | 2025.01.12 |
---|---|
[PostgreSQL] 쿼리 최적화 - ANALYZE (0) | 2025.01.07 |
[PostgreSQL] JSON 포맷 데이터 집계 (0) | 2024.12.29 |
[PostgreSQL/TimescaleDB] Reordering chunk (0) | 2024.12.29 |
[PostgreSQL] 특정 값 비율 구하기 (0) | 2024.12.29 |