1. Kuzia - 19 Июля, 2011 - 07:13:22 - перейти к сообщению
Здравствуйте! Необходимо получить два числа - число записей в базе за вчерашний день и за сегодняшний. Время хранится в UNIXTIME. Долго гулял по яндексу и гуглу, но ничего рабочего я не нашел
2. EuGen - 19 Июля, 2011 - 08:49:25 - перейти к сообщению
За сутки:
SELECT COUNT(*) FROM `table` WHERE `time`>NOW()-INTERVAL 24 HOUR
За двое суток:
SELECT COUNT(*) FROM `table` WHERE `time`>NOW()-INTERVAL 48 HOUR
За только вчерашнее:
SELECT COUNT(*) FROM `table` WHERE `time` BETWEEN (NOW()-INTERVAL 48 HOUR) AND (NOW() - INTERVAL 24 HOUR)
Если время хранится как целое, то тем проще сравнивать - достаточно 24 и 48 часов перевести в секунды.
SELECT COUNT(*) FROM `table` WHERE `time`>NOW()-INTERVAL 24 HOUR
За двое суток:
SELECT COUNT(*) FROM `table` WHERE `time`>NOW()-INTERVAL 48 HOUR
За только вчерашнее:
SELECT COUNT(*) FROM `table` WHERE `time` BETWEEN (NOW()-INTERVAL 48 HOUR) AND (NOW() - INTERVAL 24 HOUR)
Если время хранится как целое, то тем проще сравнивать - достаточно 24 и 48 часов перевести в секунды.