|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.05.2010, 12:01 | #1 |
Пользователь
Регистрация: 16.09.2009
Сообщений: 18
|
Запрос на выборку значений с некоторым интервалом времени.
Добрый день, уважаемые! Прошу вас помочь разобраться с такой задачкой:
есть БД (IB/Firebird), с таблицей, в которой в одном из столбцов записаны значения даты-времени. Значения отличаются на 1 секунду. Как возможно произвести выборку этих значений с некоторым интервалом (от 1 сек, до 23:59:59), который задается пользователем? Возможно ли это сделать средствами лишь SQL запросов? Работаю с Borland Delphi, FIBPlus, IB/Firebird. |
13.05.2010, 12:10 | #2 |
Форумчанин
Регистрация: 12.02.2007
Сообщений: 360
|
1) возможно. SELECT *
FROM Table WHERE time BETWEEN 00:00:00 AND 23:59:59; 2) См. Выше |
13.05.2010, 12:36 | #3 |
Пользователь
Регистрация: 16.09.2009
Сообщений: 18
|
не совсем доступно объяснил, попробую уточнить:
как мне из этого интервала времени (допустим, одни сутки, на каждую секунду которых приходится одна запись таблицы) выбрать каждую 10 запись? Т.е. с интервалом в 10 сек., или с интервалом в 2 минуты, или в 1 минуту 25 секунд? danekne, что подразумевает вариант номер 2? |
13.05.2010, 12:54 | #4 |
Форумчанин
Регистрация: 12.02.2007
Сообщений: 360
|
2) означает, что реализовано ср-вами SQL
вариант с диапазоном: Запускаем счетчик в делфях с диапазоном заданным, потом делаем SELECT на одну запись с Where time = полесчетчик И в куда то потом это поле суем пока цикл не пройдет |
13.05.2010, 14:51 | #5 |
Пользователь
Регистрация: 16.09.2009
Сообщений: 18
|
да, такой вариант реализации, используя цикл, в голове крутился думаю, не слишком долго это будет работать, такая выборка? видел в интернете инструкцию INTERVAL, используемую в запросах SQL, но так и не понял, что именно она реализует...Вы с ней не сталкивались?
|
13.05.2010, 14:53 | #6 |
Форумчанин
Регистрация: 12.02.2007
Сообщений: 360
|
сталкивался, но не пользовался)
|
13.05.2010, 15:00 | #7 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
все просто
берете значение с датой-временем и делаете: 1) отрезаете дату 2) время переводите в секунды 3) делите полученное в п.2 на параметр "каждые 1 минута 25 сек", переведенный тоже в секунды - если остаток от деления = ноль, то это наша запись т.е. в фильтре скл-запроса этот пункт будет выглядеть так Код:
|
13.05.2010, 17:11 | #8 |
Пользователь
Регистрация: 16.09.2009
Сообщений: 18
|
Отлично! Благодарю я верил, что этот вариант существует
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С# Запрос на выборку | fobass | Общие вопросы .NET | 2 | 04.02.2010 14:26 |
Запрос на выборку | igordeg | Microsoft Office Access | 3 | 21.01.2010 21:33 |
Запрос на выборку Like | Agapov_stas | Microsoft Office Access | 3 | 02.12.2009 11:09 |
запрос на выборку | МаришаГ | Microsoft Office Access | 5 | 21.08.2009 23:46 |
Запрос на выборку | Ruska882009 | Microsoft Office Access | 2 | 26.02.2009 20:39 |