|
|
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
День добрый есть такой вопрос по 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 Вот собственно , спаисбо… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 11:38:49 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
> Автор: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 11:44:16 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
> Автор: sigareta а вообще Код: plaintext 1. 2. 3. 4. 5. 6. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 11:46:37 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Игорь Горбонос Код: plaintext Тьфу-ты, так: Код: plaintext Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 11:48:31 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос > Автор: Игорь Горбонос Код: plaintext Тьфу-ты, так: Код: plaintext в таком случаи он вернт вместе со всмеи записями и запись 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 вотю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 11:54:52 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
> Автор: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 12:24:58 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
> Автор: Игорь Горбонос > И включена в результат эта: > > 6 | 201 | 01.02.09 00:05 | 5 | 0 Вернее почему эта включена, понятно, непонятно почему она одна, если под условие: [qout sigareta]Те интервалы времени, за которые значения поля SWITCHCOUNT > 0 назовем кластерами. Так вот мне необходимо построить запрос таким образом, что бы на выходе исключить кластеры интервал времени у которых < T (мин)[/qout] вполне попадает Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 12:27:19 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, Почему одна ? их там 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 минут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 12:38:04 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
Что-то мы ни как не поймем друг дргуа ))... вообще задача сводится к тому что нужно выбросить записи пренадлежащие кластерам , время кторых <T ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 12:54:09 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
> Автор: 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 14:11:05 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос > Автор: 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 , это не так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 14:27:56 |
|
||
|
Запрос на выборку данных
|
|||
|---|---|---|---|
|
#18+
Здрасти, какой можно выполнить запрос, чтобы получился ниже приведеный результат дата табличное пространство размер 21/09/13 TBS 24556665 22/09/13 TBS 45565656 23/09/13 TBS 45566658 т.е. в результате запроса исключались все имена табличного пространства кроме TBS????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2013, 09:48:04 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38404339&tid=1564309]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
246ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 549ms |

| 0 / 0 |
