Mysql
 sql >> база данни >  >> RDS >> Mysql

Проблем с MySQL заявка с помощта на AVG()

Ако те наистина се актуализират всеки ден, тогава използвайте аритметика за дата:

SELECT bline_id, AVG(flow) as flowavg
FROM blf
WHERE bline_id BETWEEN 1 AND 30 and
      date >= date_sub(now(), interval 10 day)
GROUP BY bline_id
ORDER BY bline_id ASC

В противен случай трябва да поставите брояч, което можете да направите с корелирана подзаявка:

SELECT bline_id, AVG(flow) as flowavg
FROM (select blf.*,
             (select COUNT(*) from blf blf2 where blf2.bline_id = blf.bline_id and blf2.date >= blf.date
             ) seqnum
      from blf
     ) blf
WHERE bline_id BETWEEN 1 AND 30 and
      seqnum <= 10
GROUP BY bline_id
ORDER BY bline_id ASC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql заявка за изтриване на записи след избор..?

  2. Обектът java.sql.Time се бърка с обекта java.sql.Date

  3. SQL инжекция с php филтриране

  4. Как да намерите уникални двойки от две колони в SQL?

  5. Лимит за качване на документи