Подсчитать за последние 10 суток и получить количество за последние 24 часа

Подсчитать из второй таблицы, количество записей за несколько промежутков времени

SELECT 
    t1.*, 
    SUM(CASE WHEN t2.time >= UNIX_TIMESTAMP() - 259200 THEN 1 ELSE 0 END) AS count_72_hours
FROM 
    table1 AS t1
LEFT JOIN 
    table2 AS t2 ON t2.t1_id = t1.id
GROUP BY 
    t1.id;

Допустим во второй таблице 10 записей по новости.

  1. Как подсчитать, какое количество в день, было просмотро? Не совсем верно сформулировало, на примере. Если у новости за последние 10 суток, количество просмотров 10, не важно, было ли это количество в один день или на протяжении 5 суток, набралось просмотров 10. На выходе необходимо получить 1, если 40 просмотров за последние 10, на выходе будет 4.
  2. Усложним, если за последние 10 суток, количество просмотров 10, а новость была опубликована 2 суток назад. На выходе необходимо получить 5(5 в день).

То есть, считаем количество за последние 10 суток, затем делим на 10 и получаем равное количество на каждые 24 часа. Но если, новость опубликована 2 суток назад, получается необходимо поделить 2 и получим на 5 просмотров на каждые сутки.

Такое условие возможно?


Ответы (0 шт):