Как посчитать самых активных юзеров, которые писали посты за текущую неделю?
Добрый день. Ситуация примерно такая. Есть таблица posts, в этой таблице среди прочего есть user_id и post. Надо как то посчитать 3 самых активных юзера за текущую неделю в порядке убывания. Что то вроде userX - 20 постов, юзерУ - 15 постов, юзерZ - 3 поста. Как примерно это можно сделать? Текущую неделю считать по created_at.
- Посчитать все посты за неделю
- Сгруппировать по id юзера (сортировка - по убыванию кол-ва постов)
- Вывести id юзеров у которых в итоге больше всего постов, ограничить 5 юзерами например
jazzus, У меня не совсем так, подобной связи нет. В открытую все как есть не очень желательно писать. Без связи можно это как то посчитать? Вся загвоздка у меня с каунтом
Иван, отношение сделать 10 сек. Если есть в posts user_id тебе только скопипастить то что здесь. Если какой-то другой код то это к экстрасенсам, но они обычно в отпуске здесь)
jazzus, Сделал такую связь. Оно толком ничего не дало. Я этого добивался запросами. Беда в следующим.
Я получаю коллекцию моделей, id юзеров могу оттуда вытащить. Но вот никак не могу згрупировать id юзеров не по порядку возрастания или убывания, а по количеству их в таблице. Чтоб то id что найбольше раз встречается было первым, и за ним пошли на убывание.
Иван, все оно дает. 3 юзера с наибольшим кол-вом постов за текущую неделю в порядке убывания. Что ты там написал я хз. Выкладывай код, всем все равно пофигу.