Подсчитать за последние 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 записей по новости.
- Как подсчитать, какое количество в день, было просмотро? Не совсем верно сформулировало, на примере. Если у новости за последние 10 суток, количество просмотров 10, не важно, было ли это количество в один день или на протяжении 5 суток, набралось просмотров 10. На выходе необходимо получить 1, если 40 просмотров за последние 10, на выходе будет 4.
- Усложним, если за последние 10 суток, количество просмотров 10, а новость была опубликована 2 суток назад. На выходе необходимо получить 5(5 в день).
То есть, считаем количество за последние 10 суток, затем делим на 10 и получаем равное количество на каждые 24 часа. Но если, новость опубликована 2 суток назад, получается необходимо поделить 2 и получим на 5 просмотров на каждые сутки.
Такое условие возможно?