0
mySQL 데이터 세트의 outliers를 성공적으로 필터링하려고합니다. 평균에서 2 표준 편차를 벗어나는 값을 제외하고 날짜별로 세분화 된 열의 평균을 계산하고 싶습니다.mySQL에서 아웃 라이어를 필터링하는 방법은 무엇입니까?
예를 들어 테이블 :
+---------------------+----------+
| date_time | duration |
+---------------------|----------+
| 2015-01-01 00:01:00 | 1 |
| 2015-01-01 00:02:00 | 2 |
| 2015-01-01 00:02:20 | 23 |
| 2015-01-01 00:03:10 | 3 |
| 2015-01-02 00:01:00 | 3 |
| 2015-01-02 00:02:00 | 4 |
| 2015-01-02 00:02:20 | 52 |
| 2015-01-02 00:03:10 | 5 | ...
가 어떻게 잘 평균에서 2 표준 편차의 외부에있는 이상 값 "23"과 "52"를 제외한 기간 컬럼의 평균을받을 수 있나요?
내가 같은 결과를 얻을 싶습니다
+------------+---------+
| date | average |
+------------+---------|
| 2015-01-01 | 2 |
| 2015-02-01 | 4 |
나는 2 개는 별도의 가입과 함께 쿼리 또는 하위 쿼리를 필요가 있다고 생각,하지만 난 그것을 알아낼 수 없습니다.
죄송합니다 - 예제 번호에 오타가 있습니다. 기본적으로 아웃 라이어를 제외하고 일별로 그룹화 된 기간 컬럼의 평균을 원합니다. 따라서 2015-01-01에서 평균은 (1 + 2 + 3)/3 = 2 (23 제외) 여야합니다. 그리고 2015-02-01에서 평균은 (3 + 4 + 5)/3 = 4 (52 제외) 여야합니다. 희망은 더 이해가됩니다. –
그래서 date_time 열을 날짜로 캐스트하십시오 (date_format보다 약간 빠름). – symcbean