powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос со сдвигом во времени.
9 сообщений из 9, страница 1 из 1
Запрос со сдвигом во времени.
    #38685707
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем,

Не очень точно написал тему, но идея такая.
У меня есть запрос в БД:

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT  `description` AS  'Task', DATE_FORMAT( current_date,  '%d %b %y' ) AS  'Current date',  `start_time` AS  'Time'
FROM tasks
WHERE  `code` LIKE  'once'
AND  `start_date` = current_date
AND  `start_time` > current_time
AND  `exp_day` >= current_date
ORDER BY  `start_time`



Все просто, проверили параметры и выдали результат. Но... у меня обычная вэб страница, которая обнавляется каждые 60 секунд и выдает результат запроса на экран. Таблица такого плана:


В таблице есть колонка start_time - это конкретное время. Нужно переделать запрос, что бы задание открывалось в окне за 15 минут до начала и доставалось до тех пор пока его не удолят. Кручу и так и так.. не получается.
...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685717
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mc Docза 15 минут до начала
Mc Doc
Код: sql
1.
AND  `start_time` > date_add(current_time, interval -15 minutes)
...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685726
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Немного ругается (((
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT  `description` AS  'Task', DATE_FORMAT( current_date,  '%d %b %y' ) AS  'Current date',  `start_time` AS  'Time'
FROM tasks
WHERE  `code` LIKE  'once'
AND  `start_date` = current_date
AND  `start_time` > date_add(current_time, interval - 15 minutes)
AND  `exp_day` >= current_date
ORDER BY  `start_time`



#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'minutes) AND `exp_day` >= current_date ORDER BY `start_time` LIMIT 0, 30' at line 5

Я думал использовать немного иначе, чуть по другому:

Код: sql
1.
AND  `start_time` > (current_time, interval - 15 %i)
...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685734
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
interval -15 minute

буква s на конце не нужна
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685752
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,
Что то упустили....
Смотрте.


Время 10:56

С первой записью согласен. За 15 минут до начала. А вот вторая и последущие влезли не по теме.
...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685787
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотрите, время 11-13
Задача которая должна быть в 11 живет в таблице - нормально.



Вот время 11-15 - так как я не удолял задач из таблицы, она должна оставаться там. Но ее нет

...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685804
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mc DocС первой записью согласен. За 15 минут до начала. А вот вторая и последущие влезли не по теме.Так написано условие "больше", вот оно и выполняется как "больше".
Если не годится, то добавьте еще второй конец диапазона.
...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685815
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется вот так должно быть

Код: plsql
1.
AND  `start_time` > date_add(current_time, interval - 15 minutes)



Сменил знак, в запросе то что надо. Сейчас накидаю записей и сделаю тест, как появляются на экране.
...
Рейтинг: 0 / 0
Запрос со сдвигом во времени.
    #38685843
Mc Doc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,
miksoft,

Спасибо за подсказку, все работает - те записи появляются за 15 минут до начала.
Код:

Код: sql
1.
AND  `start_time` < date_add(current_time, interval + 15 minutes) 
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос со сдвигом во времени.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]