집 >데이터 베이스 >MySQL 튜토리얼 >미리 정의된 간격으로 MySQL에서 히스토그램을 만드는 방법은 무엇입니까?
MySQL의 히스토그램 데이터 추출
MySQL은 기본적으로 히스토그램 플로팅을 위해 사전 정의된 간격으로 데이터를 비닝하는 기능을 제한적으로 지원합니다. 그러나 이 작업은 수정된 접근 방식을 사용하여 달성할 수 있습니다.
제공한 SQL 쿼리:
select total, count(total) from faults GROUP BY total;
과도한 수의 행을 생성합니다. 데이터를 사전 정의된 저장소로 그룹화하려면 다음 해결 방법을 고려할 수 있습니다.
ROUND(numeric_value, -2) AS bucket,
COUNT(*) AS COUNT, RPAD('', LN(COUNT(*)), '*') AS bar
FROM my_table
GROUP BY bucket;
ROUNDing 증분을 조정하여 Bin 크기를 정의할 수 있습니다. 예를 들어 ROUND(숫자_값, -2)는 데이터를 100 버킷(-200~-100, -100~0 등)으로 그룹화합니다.
ROUNDing 작업에서 오프셋을 수정하면 첫 번째 버킷이 후속 버킷만큼 많은 요소를 포함합니다. ROUND(numeric_value, -1)의 경우 [0,4] 범위(5개 요소)의 숫자_값은 첫 번째 버킷에 배치되고, 두 번째 버킷에는 [5,14](10개 요소), 셋째, 숫자_값이 ROUND(숫자_값 - 5, -1)를 통해 적절하게 오프셋되지 않는 한.
예를 들어 다음 쿼리는 로그 막대 크기 조정을 사용하여 히스토그램을 생성합니다.
SELECT ROUND(total, -2) AS bucket, COUNT(*) AS COUNT, RPAD('', LN(COUNT(*)), '*') AS bar FROM faults GROUP BY bucket;
이 접근 방식은 다음과 같습니다. MySQL에서 히스토그램을 생성하는 빠르고 적응 가능한 방법을 제공하므로 특정 사용 사례에 맞게 쉽게 사용자 정의할 수 있습니다.
위 내용은 미리 정의된 간격으로 MySQL에서 히스토그램을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!