Запрос MySQL PHP, самый популярный за прошлые 24 часа

Скажите, что я хочу добраться, десять записей с БОЛЬШИНСТВОМ любит за прошлые 24 часа. Вот то, что я имею до сих пор:

$date = date("o-m-d");
$query = "SELECT date_created,COUNT(to),from,to FROM likes WHERE date_created LIKE '$date%' GROUP BY to ORDER BY COUNT(to) DESC LIMIT 10";

Проблема с этим состоит в том, что это только получает максимум, который любят с ТОГО ДНЯ, неважно, как далеко в тот день это. Это не получает максимум, который любят с прошлых 24 часов.

структуре для нравится: от | до | date_created | идентификатор

даты находятся в стандартное время ISO - пример 2010-07-14T00:35:31-04:00. Произойдите прямо из ссылки PHP: дата ("c");

9
задан Dylan Taylor 14 July 2010 в 06:00
поделиться

4 ответа

WHERE date_created > DATE_SUB( NOW(), INTERVAL 24 HOUR)
20
ответ дан 4 December 2019 в 08:50
поделиться

Если ваше поле date_created является типом поля datetime или timestamp, вы можете использовать DATE_SUB в предложении where следующим образом;


WHERE date_created > DATE_SUB(NOW(), INTERVAL 24 HOUR)

2
ответ дан 4 December 2019 в 08:50
поделиться

Вы должны использовать функции даты и времени вместо LIKE.

WHERE date_created >= (NOW() - INTERVAL 24 HOUR)
1
ответ дан 4 December 2019 в 08:50
поделиться

Таким образом, первый выключенный date_created должен быть определен как отметка времени с включенной текущей отметкой времени по умолчанию . Если у вас есть date_modified в таблице, тогда date_modified будет иметь при обновлении текущей отметки времени , и вы можете определить дату, созданную как отметку времени, и этот триггер для ее обновления

CREATE TRIGGER likes_date_entered
BEFORE INSERT ON likes
FOR EACH ROW SET NEW.date_created = NOW()

Теперь, когда у нас есть отметка времени, вы можно легко применить к столбцу некоторые функции даты mysql.

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

Я оставлю, что делать, в качестве упражнения для читателя, если вы не скажете милая, пожалуйста, и хочу, чтобы я дал точный синтаксис.

1
ответ дан 4 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: