[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: timestamp
Stasonix
В таблице содержатся данные:

id | time        | name
1 | 1354382314 | test1
2 | 1374769114 | test2
3 | 1322759914 | test3


Как выбрать записи, сделанные на прошлой неделе, месяц назад или год назад?
paul85
Ну как... Вычисляете timestamp интересующего промежутка времени. Потом в запросе пишете WHERE time BETWEEN x AND y. Или вычитаете из текущего timestamp количество секунд, соответствующее поставленной задаче...

Смотрите в сторону mktime и getdate
Valick
Цитата
Смотрите в сторону mktime и getdate

и чё там?
___
за прошлый месяц
SELECT * FROM tbl_name WHERE DATE(col_timestamp) BETWEEN '2013-07-01' AND '2013-07-31'

за последние 3 дня
SELECT * FROM tbl_name WHERE col_timestamp > NOW() - INTERVAL 3 DAY


_____________
Стимулятор ~yoomoney - 41001303250491
paul85
Valick, а как вы будете узнавать сколько дней в месяце? Високосный год или нет? Числа начала и конца предыдущей недели? Например нужно вывести все записи за февраль 2001 года...
Цитата
SELECT * FROM tbl_name WHERE DATE(col_timestamp) BETWEEN '2013-07-01' AND '2013-07-31'

Записи за 31 число не будут выведены вообще... Берется 0:00 31-го. То есть фактически исключается условием...
Valick
Цитата
Берется 0:00 31-го

???
DATE ('2013-07-31 15:07:34') = ???


Цитата
а как вы будете узнавать сколько дней в месяце?

а надо? может DATE_ADD(date,INTERVAL expr type) , DATE_SUB(date,INTERVAL expr type) проканает?))




_____________
Стимулятор ~yoomoney - 41001303250491
paul85
Цитата
DATE ('2013-07-31 15:07:34') = ???

Елки-палки, ну да! Прошу пардона!

Но тогда уж как-то так (хотя может быть более оптимальный путь):
SELECT * FROM tbl_name WHERE DATE(FROM_UNIXTIME(`time`)) BETWEEN '2013-07-01' AND '2013-07-31'

Ну фиг знает. Чего-то я не уловил ход мысли. Но может быть и проканает! =))

Valick
paul85, да по постановке вопроса ТС ответом является второй запрос (только интервалы можно подставлять на прошлой неделе, месяц назад или год назад) , первый просто в нагрузку, поэтому до хода мыслей тут далеко smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.