MySQL에서 GROUP BY를 사용하여 쿼리 결과 피벗
데이터를 행에서 열로 재구성함으로써 피벗은 데이터 시각화 및 분석을 개선하는 데 도움이 될 수 있습니다. 특정 열을 기준으로 쿼리 결과를 피벗하려면 MySQL에서 GROUP BY 절을 사용할 수 있습니다.
다음 스키마가 포함된 샘플 테이블을 고려해 보세요.
data_id data_timestamp data_value -------------------------------------------- 1 2011-07-07 00:01:00 0.400 1 2011-07-07 00:02:00 0.500 1 2011-07-07 00:03:00 0.600 1 2011-07-07 00:04:00 0.700 2 2011-07-07 00:01:00 0.100 2 2011-07-07 00:02:00 0.200 2 2011-07-07 00:03:00 0.250 2 2011-07-07 00:04:00 2.300
이 데이터를 기준으로 피벗하려면 data_timestamp 열에서 CASE 문과 SUM 집계 함수의 조합을 사용할 수 있습니다.
SELECT d.data_timestamp , SUM( CASE WHEN data_id = 1 THEN data_value ELSE 0 END ) AS 'input_1' , SUM( CASE WHEN data_id = 2 THEN data_value ELSE 0 END ) AS 'input_2' FROM data GROUP BY data_timestamp ORDER BY data_timestamp ASC
이 쿼리는 각 고유 data_timestamp에 대한 data_value 열을 효과적으로 요약하고 각 개별 data_id에 대한 새 열을 생성합니다(이 쿼리에서는 case, input_1 및 input_2).
또는 IF 문을 사용하여 동일한 결과를 얻을 수도 있습니다.
SELECT d.data_timestamp , SUM( IF(data_id = 1, data_value, 0) ) AS 'input_1' , SUM( IF(data_id = 2, data_value, 0) ) AS 'input_2' FROM data GROUP BY data_timestamp ORDER BY data_timestamp ASC
이 두 방법 모두 다음을 사용하여 쿼리 결과를 피벗하는 효과적인 방법을 제공합니다. MySQL의 GROUP BY 절을 사용하면 보다 유연하고 유익한 데이터 분석이 가능합니다.
위 내용은 GROUP BY 절을 사용하여 MySQL에서 쿼리 결과를 피벗하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!