쿼리 7-3은 쿼리 7-1과 7-2를 결합해 지하철역별로 승차 인원 데이터를 집계한 것입니다. GROUP BY 절에 station_name을 기술했으니 지하철역별로 집계를 한다는 것이고, station_name은 SELECT 절에도 반드시 기술해야 합니다. 또한, SELECT 절에는 GROUP BY 절에 명시한 컬럼이나 표현식 외 다른 것은 모두 집계 함수 형태만 사용할 수 있습니다.
집계 결과가 그림 7-3에 나와 있습니다. 이 결과를 보면 각 지하철역별 총 데이터 건수(로우 수), 최소와 최대 승차 인원 그리고 총 승차 인원과 평균 승차 인원을 알 수 있습니다. 그림 7-3에 나온 데이터만 보면 다른 역에 비해 구로디지털단지역에서 승차 인원이 많은 걸 알 수 있죠. 좀 더 세밀하게 분석하려면 추가 정보가 더 필요할 것 같군요.
쿼리 7-4 구로디지털단지역 시간별 승하차 인원 조회
SELECT station_name ,boarding_time ,gubun ,MIN(passenger_number) min_value ,MAX(passenger_number) max_value ,SUM(passenger_number) sum_value FROM subway_statistics WHERE station_name in ('구로디지털단지(232)') GROUP BY station_name, boarding_time, gubun ORDER BY station_name, boarding_time, gubun;
▲ 그림 7-4 쿼리 7-4를 실행한 결과