mysql date показать результаты сегодня / вчера / неделю

Я извлекаю данные из таблицы и показываю общий SUM записей. То, что я хочу сделать, – показать общее количество записей, сделанных на сегодняшнюю дату, вчера и в этом месяце. В таблице используется формат timestamp unix (например, 1351771856).

В настоящее время я использую эту строку для отображения сегодняшних результатов:

AND comment_date > UNIX_TIMESTAMP() - 24 * 3600"; 

но это дает мне только записи за последние 24 часа.

Пример : скажем, пятница, 17:00 – он дает мне счет с четверга 17:00 до пятницы 17:00

Я хочу получить результаты для

  • Четверг 00:00:00 – 23:59:59 (вчера в этом случае)
  • результаты на сегодня (00:00:00 – 23:59:59)
  • и на прошлой неделе результаты, которые начинаются в понедельник, 00:00:00 до «сегодня» (в данном случае в пятницу).

Я не мог найти способ в документации MySQL для достижения этого.

Этот код mysql должен работать для вас:

 // Today AND DATE(from_unixtime(comment_date)) = CURRENT_DATE // Yesterday AND DATE(from_unixtime(comment_date)) = DATE_SUB(CURRENT_DATE,INTERVAL 1 DAY) // This week AND YEARWEEK(from_unixtime(comment_date), 1) = YEARWEEK(CURRENT_DATE, 1) // This month AND YEAR(from_unixtime(comment_date)) = YEAR(CURRENT_DATE) AND MONTH(from_unixtime(comment_date)) = MONTH(CURRENT_DATE) 

Просто используйте это:

 AND comment_date > date_sub(current_date, interval 1 day) 

См. Мой ответ здесь, я думаю, что это очень связано.

Вытяните записи из таблицы заказов на текущую неделю

Подумайте об интимности с MySQL GROUP BY . Скорее всего, вам это нужно знать, если вы используете MySQL.