[SQL] GROUP BY 1, 써도 될까?

Unit·2025년 6월 26일

SQL

목록 보기
23/59

GROUP BY 1은 SELECT절의 첫 번째 컬럼을 기준으로 그룹화하라는 의미입니다.

SELECT region
	 , COUNT(*)  
FROM users  
GROUP BY 1;

GROUP BY region과 동일한 결과


⚠️ 실무에서 주의할 점

  • 가독성이 떨어짐 : 컬럼명을 직접 쓰지 않기 때문에, 쿼리를 처음 보는 사람이 이해하기 어려움.

  • 유지보수에 불리함 : SELECT절 순서가 바뀌면 GROUP BY도 함께 수정해야 함.


🆗 이런 경우엔 예외적으로 OK

  • SELECT절에 계산식이 길어 가독성이 더 떨어질 때
    예) GROUP BY 1 대신 GROUP BY EXTRACT(YEAR FROM created_at)

  • 테스트용 임시 쿼리처럼, 코드 변경이 잦은 상황


정리

✔️ 실무에서는 GROUP BY 컬럼명 사용을 기본으로 하고,
컬럼 순서 기준 방식은 필요한 경우에만 제한적으로 사용하는 게 안전합니다.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글