안녕하세요. 도전히 고민을 해도 잘모르는것이 있어서 질문 드립니다. 소중한 시간 내주셔서 늘 가르침을 주셔서 정말 감사하게 생각하고 있습니다.
버전은 5.6.25 이고요. 7일 평균을 구해야 하는데 전에 한번 가르쳐 주셧는데 0을 제외를 할려고 하니 잘 되지 않아 다시 질문 드립니다.
엑셀로우 | 일자 | 주차 | 값 | 합계 | 7일평균 |
1 | 2020/2/22 | 14 | 0 | 0 | 값이 0 인 경우 제외 |
2 | 2020/2/23 | 14 | 0 | 0 | 값이 0 인 경우 제외 |
3 | 2020/2/24 | 14 | 0 | 0 | 값이 0 인 경우 제외 |
4 | 2020/2/25 | 14 | 87 | 87 | 식 : D4 /1 87 /1= (87) |
5 | 2020/2/26 | 14 | 70 | 157 | 식 : D4 + D5 /2 87 + 70 /2 =(78.5) |
6 | 2020/2/27 | 14 | 77 | 234 | 식 : D4 + D5 + D6 /3 87 + 70 + 77 /3 =(78) |
7 | 2020/2/28 | 14 | 79 | 313 | 식: D4 + D5 + D6 +D7 /4 87 + 70 +77+ 79 /4 =(78.25) |
8 | 2020/2/29 | 15 | 71 | 384 | 식 : D4 + D5 + D6 +D7 +D8/5 87 + 70 +77+ 79+71 /5=(76.28) |
9 | 2020/3/1 | 15 | 77 | 461 | D4 + D5 + D6 +D7 +D8 + D9/6 87 + 70 + 77 + 79 + 71 + 77 /6=(76.83) |
10 | 2020/3/2 | 15 | 85 | 546 | 식 : D4 + D5 + D6 +D7 +D8 + D9 + D10 /7 87 + 70 + 77 + 79 + 71 + 77 + 85 / 7=(78) |
11 | 2020/3/3 | 15 | 83 | 629 | 식 : D5 + D6 +D7 +D8 + D9 + D10 + D11 /7 70 + 77 + 79 + 71 + 77 + 85 + 83 / 7=(77.42) |
12 | 2020/3/4 | 15 | 82 | 711 | 식 :D6 +D7 +D8 + D9 + D10 + D11 + D12 /7 77 + 79 + 71 + 77 + 85 + 83 +82 / 7 =(79.14) |
WITH t AS ( SELECT '2020-02-22' dt, 0 v UNION ALL SELECT '2020-02-23', 0 UNION ALL SELECT '2020-02-24', 0 UNION ALL SELECT '2020-02-25', 87 UNION ALL SELECT '2020-02-26', 70 UNION ALL SELECT '2020-02-27', 0 UNION ALL SELECT '2020-02-28', 79 UNION ALL SELECT '2020-02-29', 71 UNION ALL SELECT '2020-03-01', 77 UNION ALL SELECT '2020-03-02', 85 UNION ALL SELECT '2020-03-03', 83 UNION ALL SELECT '2020-03-04', 82 ) SELECT a.dt , a.v , SUM(b.v) v_sum , AVG(b.v) v_avg , COUNT(b.v) v_cnt , GROUP_CONCAT(b.v ORDER BY b.dt SEPARATOR '+') bigo FROM t a LEFT OUTER JOIN t b ON b.dt BETWEEN a.dt - INTERVAL 6 DAY AND a.dt AND b.dt >= (SELECT MIN(dt) FROM t WHERE v > 0) GROUP BY a.dt, a.v ;