Привет, ребята.
Нужно сделать сортировку постов Wordpress по просмотрам за 24 часа, 7 дней, 30 дней.
Дано:- Таблица постов WP
- Таблица wp_post_views с двумя полями: ID (ID поста) и time (хранит дату и время просмотра)
Собственно надо построить запрос SQL, который отсортирует посты из таблицы
wp_posts по количеству строк с ID поста в таблице
wp_post_views за нужный период.
Есть идеи, как это можно провернуть? Пытался делать через JOIN, GROUP BY и COUNT. Ничего не получилось у меня... В SQL я полный профан.
Заранее спасибо :)
Нашел такое решение:
SELECT `ID`, `post_title` FROM `wp_posts` AS t1
INNER JOIN `wp_post_views` AS t2 USING(`ID`)
WHERE t2.time >= CURDATE() - INTERVAL 30 DAY /* или 1 DAY, или 7 DAY*/
GROUP BY `ID`
ORDER BY COUNT(t2.ID) DESC
LIMIT 10
Результат выполнения:
Вроде бы работает, но это не точно... Мб кому пригодится :)