Получение среднего количества заказов в день с помощью mysql

У меня есть следующая структура таблицы:

ID, User_ID, DateTime

В котором хранится идентификатор пользователя и дата и время заказа. Как мне получить среднее количество заказов в день по каждой строке?

В псевдокоде я думаю:

  1. Получить общее количество заказов
  2. Получить количество дней в диапазоне (от первой строки до последней строки).
  3. Разделить 1 на 2, чтобы получить среднее значение?

Так он вернет мне значение 50 или 100?

Спасибо


person Bob    schedule 27.11.2011    source источник


Ответы (2)


Поскольку вы знаете диапазон дат и не гарантируете иметь заказ в эти даты, вы не можете просто вычесть max(date) из min(date), но вы знаете количество дней до выполнения запроса, поэтому просто:

select count(*) / <days>
from mytable
where DateTime between <start> and <end>

Где вы указываете указанные значения, потому что знаете их.

person Bohemian♦    schedule 27.11.2011

select DATEDIFF(NOW(), date_time) as days, AVG(count(*))
from table 
group by days

Я не проверял запрос, это просто идея, я думаю, он должен работать.

person Zohaib    schedule 27.11.2011