Как выбрать данные из SQL таблицы за последний день, по полю datetime?
Есть таблица в которой есть столбец created с форматом datetime: 2015-11-20 15:22:47
Нужно получить из таблицы все строки, по полю created за последний день ближайший (он может быть как сегодняшний, так и несколько дней назад), который есть в таблице.
Big_person: А смотря что за выборку. Если надо выбрать за последний день, в который есть записи с этим продуктом, то
SELECT `t`.*
FROM (
SELECT `product_id`, DATE(MAX(`created`)) AS `date`
FROM `table`
WHERE `product_id` = :id
) AS `d`
JOIN `table` AS `t` ON `t`.`created` >= `d`.`date`
AND `t`.`product_id` = `d`.`product_id`
А если записи с продуктом в последний день, где вообще есть записи, то
SELECT `t`.*
FROM (
SELECT DATE(MAX(`created`)) AS `date`
FROM `table`
) AS `d`
JOIN `table` AS `t` ON `t`.`created` >= `d`.`date`
WHERE `t`.`product_id` = :id