Smile
Старатель
- Регистрация
- 12 Ноя 2006
- Сообщения
- 157
- Реакции
- 11
- Автор темы
- #1
Добрый день,
столкнулся с проблемой... копаю со вчерашнего дня но проблему так и не решил...
Хочу создать топ самых популярных постов за 6 часов к примеру.
Если постов за 6 часов нету или их меньше 5 к примеру, выводим за 24 часа.
Таблица
id | name | date(unix_timestamp) | views
----------------------------------------------------
1 | post1 | 30.04.2015 17:30 | 191
2 | post2 | 30.04.2015 15:30 | 30
3 | post3 | 30.04.2015 14:30 | 90
4 | post4 | 29.04.2015 23:30 | 70
5 | post5 | 29.04.2015 22:30 | 40
Как сделать сортировку чтобы получить вот такой результат:
id | name | date(unix_timestamp) | views
----------------------------------------------------
1 | post1 | 30.04.2015 17:30 | 191
3 | post3 | 30.04.2015 14:30 | 90
2 | post2 | 30.04.2015 15:30 | 30
4 | post4 | 29.04.2015 23:30 | 70
4 | post5 | 29.04.2015 22:30 | 40
Я пробовал что-то вроде этого, но это не то...
$sql = "SELECT * FROM `articles` WHERE CASE WHEN created_at > unix_timestamp(now() - interval 4 hour) THEN created_at > unix_timestamp(now() - interval 4 hour) ELSE created_at > unix_timestamp(now() - interval 12 hour) END ORDER BY views DESC LIMIT 9";
Кто знает, помогите плз...
столкнулся с проблемой... копаю со вчерашнего дня но проблему так и не решил...
Хочу создать топ самых популярных постов за 6 часов к примеру.
Если постов за 6 часов нету или их меньше 5 к примеру, выводим за 24 часа.
Таблица
id | name | date(unix_timestamp) | views
----------------------------------------------------
1 | post1 | 30.04.2015 17:30 | 191
2 | post2 | 30.04.2015 15:30 | 30
3 | post3 | 30.04.2015 14:30 | 90
4 | post4 | 29.04.2015 23:30 | 70
5 | post5 | 29.04.2015 22:30 | 40
Как сделать сортировку чтобы получить вот такой результат:
id | name | date(unix_timestamp) | views
----------------------------------------------------
1 | post1 | 30.04.2015 17:30 | 191
3 | post3 | 30.04.2015 14:30 | 90
2 | post2 | 30.04.2015 15:30 | 30
4 | post4 | 29.04.2015 23:30 | 70
4 | post5 | 29.04.2015 22:30 | 40
Я пробовал что-то вроде этого, но это не то...
$sql = "SELECT * FROM `articles` WHERE CASE WHEN created_at > unix_timestamp(now() - interval 4 hour) THEN created_at > unix_timestamp(now() - interval 4 hour) ELSE created_at > unix_timestamp(now() - interval 12 hour) END ORDER BY views DESC LIMIT 9";
Кто знает, помогите плз...