Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एसक्यूएल में कई तिथियों पर चलती औसत कैसे करें?

नीचे दिया गया MySQL उदाहरण एक स्लाइडिंग 7-दिवसीय विंडो को कवर करता है:

select t1.`DATE`, AVG(t2.`VALUE`) as MV_AVG
from MyTable t1
left outer join MyTable t2 
    on t2.`DATE` between DATE_ADD(t1.`DATE`, INTERVAL -6 DAY) 
        and t1.`DATE`
group by t1.`DATE`

SQL Fiddle उदाहरण

आउटपुट:

|                             DATE |    MV_AVG |
------------------------------------------------
|    August, 12 2012 20:00:00+0000 |       160 |
|    August, 19 2012 20:00:00+0000 |        52 |
|    August, 26 2012 20:00:00+0000 |        63 |
| September, 03 2012 20:00:00+0000 |        41 |
| September, 09 2012 20:00:00+0000 |      30.5 |
| September, 16 2012 20:00:00+0000 |        20 |
| September, 23 2012 20:00:00+0000 |       285 |
| September, 24 2012 20:00:00+0000 |     152.5 |
| September, 30 2012 20:00:00+0000 |      52.5 |
|   October, 08 2012 20:00:00+0000 |        41 |
|   October, 14 2012 20:00:00+0000 |      6037 |
|   October, 15 2012 20:00:00+0000 |      6610 |
|   October, 16 2012 20:00:00+0000 | 5624.6667 |
|   October, 21 2012 20:00:00+0000 | 1649.6667 |
|   October, 28 2012 20:00:00+0000 |        31 |
|  November, 04 2012 19:00:00+0000 |        10 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गतिशील रूप से बनाया गया WHERE क्लॉज PHP/MySQL

  2. वेबसाइट बोली लगाने के लिए उलटी गिनती घड़ी कैसे बनाएं

  3. Mysql के साथ एक से अधिक कॉलम द्वारा ऑर्डर करें

  4. लॉग इन होने पर लॉगिन लिंक छुपाएं

  5. CentOS 7 या RHEL 7 से MariaDB या MySQL को पूरी तरह से हटा दें