Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на выборку данных / 13 сообщений из 13, страница 1 из 1
16.07.2009, 11:38:49
    #36092858
sigareta
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
День добрый есть такой вопрос по SQL.

Предположим, есть таблица со следующими полями

ID
TIME
IDDEVICE
SWITCHCOUNT
ERRORCOUNT

И допустим, она заполнена следующими значениями

1 | 201 | 01.02.09 00:00 | 5 | 0
2 | 201 | 01.02.09 00:01 | 1 | 0
3 | 201 | 01.02.09 00:02 | 0 | 0
4 | 201 | 01.02.09 00:03 | 3 | 0
5 | 201 | 01.02.09 00:04 | 0 | 0
6 | 201 | 01.02.09 00:05 | 5 | 0
7 | 201 | 01.02.09 00:06 | 2 | 0

Проще говоря, это снятые показания с устройств с интервалом 1 раз в минуту. Те интервалы времени, за которые значения поля SWITCHCOUNT > 0 назовем кластерами.
Так вот мне необходимо построить запрос таким образом, что бы на выходе исключить кластеры интервал времени у которых < T (мин)

Например:
если T = 0 мин. должно вернуть все значения из таблицы,
если T = 5 мин. Ничего не вернет
если Т = 2 мин. Вернет


1 | 201 | 01.02.09 00:00 | 5 | 0
2 | 201 | 01.02.09 00:01 | 1 | 0
6 | 201 | 01.02.09 00:05 | 5 | 0
7 | 201 | 01.02.09 00:06 | 2 | 0

Вот собственно , спаисбо…
...
Рейтинг: 0 / 0
16.07.2009, 11:44:16
    #36092879
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
> Автор: sigareta
> если Т = 2 мин. Вернет
> 1 | 201 | 01.02.09 00:00 | 5 | 0
> 6 | 201 | 01.02.09 00:05 | 5 | 0

А по какому критерию эти записи попали в результат?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.07.2009, 11:46:37
    #36092887
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
> Автор: sigareta

а вообще
Код: plaintext
1.
2.
3.
4.
5.
6.
select ID
TIME
IDDEVICE
SWITCHCOUNT
ERRORCOUNT
from tablia
where SWITCHCOUNT < :T



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.07.2009, 11:48:31
    #36092894
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
> Автор: Игорь Горбонос
Код: plaintext
where SWITCHCOUNT < :T

Тьфу-ты, так:
Код: plaintext
where SWITCHCOUNT > :T



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.07.2009, 11:54:52
    #36092922
sigareta
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
Игорь Горбонос
> Автор: Игорь Горбонос
Код: plaintext
where SWITCHCOUNT < :T

Тьфу-ты, так:
Код: plaintext
where SWITCHCOUNT > :T





в таком случаи он вернт вместе со всмеи записями и запись
4 | 201 | 01.02.09 00:03 | 3 | 0

которая должна быть исключена
а что касается первого вашего замечания то получается края таблицы таблицы должны попадать в том случаи сли временной интервал > Т , но вы правильно заметили...

в случаи T = 2 края таблицы не попадут.Получается тоже ничего не вернет . 2 минуты не удачный пример.

изменю таблицу .

1 | 201 | 01.02.09 00:00 | 5 | 0
2 | 201 | 01.02.09 00:01 | 1 | 0
3 | 201 | 01.02.09 00:02 | 0 | 0
4 | 201 | 01.02.09 00:03 | 3 | 0
5 | 201 | 01.02.09 00:04 | 4 | 0
6 | 201 | 01.02.09 00:05 | 5 | 0
7 | 201 | 01.02.09 00:06 | 2 | 0

тогда в случаи T = 2 вернет
4 | 201 | 01.02.09 00:03 | 3 | 0
5 | 201 | 01.02.09 00:04 | 4 | 0
6 | 201 | 01.02.09 00:05 | 5 | 0
7 | 201 | 01.02.09 00:06 | 2 | 0

вотю...
...
Рейтинг: 0 / 0
16.07.2009, 12:24:58
    #36093022
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
> Автор: sigareta
> в таком случаи он вернт вместе со всмеи записями и запись
> 4 | 201 | 01.02.09 00:03 | 3 | 0
>
> которая должна быть исключена

А почему это не правильно?

> а что касается первого вашего замечания то получается края таблицы таблицы должны попадать в том случаи сли
> временной интервал > Т , но вы правильно заметили...

Мое первое замечание, было от невнимательного прочтения условия отбора.
>
> в случаи T = 2 края таблицы не попадут.Получается тоже ничего не вернет . 2 минуты не удачный пример.

Почему края? Край! который меньше Т! И тогда в условии просто строгое неравенство.
>
> изменю таблицу .
>
> 1 | 201 | 01.02.09 00:00 | 5 | 0
> 2 | 201 | 01.02.09 00:01 | 1 | 0
> 3 | 201 | 01.02.09 00:02 | 0 | 0
> 4 | 201 | 01.02.09 00:03 | 3 | 0
> 5 | 201 | 01.02.09 00:04 | 4 | 0
> 6 | 201 | 01.02.09 00:05 | 5 | 0
> 7 | 201 | 01.02.09 00:06 | 2 | 0
>
> тогда в случаи T = 2 вернет
> 4 | 201 | 01.02.09 00:03 | 3 | 0
> 5 | 201 | 01.02.09 00:04 | 4 | 0
> 6 | 201 | 01.02.09 00:05 | 5 | 0
> 7 | 201 | 01.02.09 00:06 | 2 | 0

Теперь непонятно, почему была проигнорированная эта запись:
> 1 | 201 | 01.02.09 00:00 | 5 | 0
И включена в результат эта:
> 6 | 201 | 01.02.09 00:05 | 5 | 0


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.07.2009, 12:27:19
    #36093029
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
> Автор: Игорь Горбонос
> И включена в результат эта:
> > 6 | 201 | 01.02.09 00:05 | 5 | 0
Вернее почему эта включена, понятно, непонятно почему она одна, если под условие:
[qout sigareta]Те интервалы времени, за которые значения поля SWITCHCOUNT > 0 назовем кластерами.
Так вот мне необходимо построить запрос таким образом, что бы на выходе исключить кластеры интервал времени у которых <
T (мин)[/qout]
вполне попадает


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.07.2009, 12:38:04
    #36093059
sigareta
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
Игорь Горбонос,

Почему одна ? их там 4 попадает
4 | 201 | 01.02.09 00:03 | 3 | 0
5 | 201 | 01.02.09 00:04 | 4 | 0
6 | 201 | 01.02.09 00:05 | 5 | 0
7 | 201 | 01.02.09 00:06 | 2 | 0

потому как вермя этого кластера больше 2 минут
...
Рейтинг: 0 / 0
16.07.2009, 12:54:09
    #36093132
sigareta
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
Что-то мы ни как не поймем друг дргуа ))... вообще задача сводится к тому что нужно выбросить записи пренадлежащие кластерам , время кторых <T
...
Рейтинг: 0 / 0
16.07.2009, 14:11:05
    #36093468
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
> Автор: sigareta
У тебя исходная таблица вот:
sigaretaизменю таблицу .

1 | 201 | 01.02.09 00:00 | 5 | 0 <-- Эта запись попадает под критерий 5 > T(=2), а в результате её нет, почему?
2 | 201 | 01.02.09 00:01 | 1 | 0 <-- С этой понятно, не попадает
3 | 201 | 01.02.09 00:02 | 0 | 0 <-- С этой понятно, не попадает
4 | 201 | 01.02.09 00:03 | 3 | 0 <-- С этой понятно, попадает
5 | 201 | 01.02.09 00:04 | 4 | 0 <-- С этой понятно, попадает
6 | 201 | 01.02.09 00:05 | 5 | 0 <-- С этой понятно, попадает
7 | 201 | 01.02.09 00:06 | 2 | 0 <--А эта почему есть, если условие строгое и интервал, должен быть больше( а не больше
либо равен) Т?



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.07.2009, 14:27:56
    #36093531
sigareta
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
Игорь Горбонос
> Автор: sigareta
У тебя исходная таблица вот:
sigaretaизменю таблицу .

1 | 201 | 01.02.09 00:00 | 5 | 0 <-- Эта запись попадает под критерий 5 > T(=2), а в результате её нет, почему?
2 | 201 | 01.02.09 00:01 | 1 | 0 <-- С этой понятно, не попадает
3 | 201 | 01.02.09 00:02 | 0 | 0 <-- С этой понятно, не попадает
4 | 201 | 01.02.09 00:03 | 3 | 0 <-- С этой понятно, попадает
5 | 201 | 01.02.09 00:04 | 4 | 0 <-- С этой понятно, попадает
6 | 201 | 01.02.09 00:05 | 5 | 0 <-- С этой понятно, попадает
7 | 201 | 01.02.09 00:06 | 2 | 0 <--А эта почему есть, если условие строгое и интервал, должен быть больше( а не больше
либо равен) Т?






а елки палки все я понял )) ну вернее я понял что Вы меня не так поняли... и так все с начала есть таблица

1 | 201 | 01.02.09 00:00 | 5 | 0
2 | 201 | 01.02.09 00:01 | 1 | 0
3 | 201 | 01.02.09 00:02 | 0 | 0
4 | 201 | 01.02.09 00:03 | 3 | 0
5 | 201 | 01.02.09 00:04 | 4 | 0
6 | 201 | 01.02.09 00:05 | 5 | 0
7 | 201 | 01.02.09 00:06 | 2 | 0

Кластером в своем первом посту я назвал тот набор записей в котором SWITCHCOUNT > 0
то есть для этого набора данных будет всего 2 кластера


1 | 201 | 01.02.09 00:00 | 5 | 0
2 | 201 | 01.02.09 00:01 | 1 | 0

и

4 | 201 | 01.02.09 00:03 | 3 | 0
5 | 201 | 01.02.09 00:04 | 4 | 0
6 | 201 | 01.02.09 00:05 | 5 | 0
7 | 201 | 01.02.09 00:06 | 2 | 0

Положим что у каждлого такого кластера есть сумарное вермя, то есть для первого кластера это
01.02.09 00:00 - 01.02.09 00:01 (1 минута), для второго кластера это 01.02.09 00:03 - 01.02.09 00:06 (3 минуты) это и есть то самое Т для каждого кластера...
Так вот собсвенно задача заключается в том что бы исключить кластера для которых вермя Т будем меньше какого-то заданного интервала. Т - это время, а вы я так понял подумали что Т я должен сравнивать со значением поля SWITCHCOUNT , это не так...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
23.09.2013, 09:48:04
    #38404339
Запрос на выборку данных
Здрасти, какой можно выполнить запрос, чтобы получился ниже приведеный результат

дата табличное пространство размер
21/09/13 TBS 24556665
22/09/13 TBS 45565656
23/09/13 TBS 45566658

т.е. в результате запроса исключались все имена табличного пространства кроме TBS?????
...
Рейтинг: 0 / 0
23.09.2013, 10:27:35
    #38404379
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на выборку данных
Каспар Фрай Проныра,
Код: sql
1.
WHERE MyField = 'TBS'


Ваш КО
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос на выборку данных / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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