
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.03.2014, 15:37:05
|
|||
|---|---|---|---|
|
|||
Выбор записей с одинаковым значением подряд |
|||
|
#18+
Всем привет. Очень нужна помощь. Есть таблица (MySQL 5.6) в которую каждые 3 мин добавляется запись (IP_ADDRESS, Time, Result) IP_ADDRESS Time Result 10.0.0.1 11-00-00 On 10.0.0.1 11-03-00 Off 10.0.0.1 11-06-00 Off 10.0.0.1 11-09-00 Off 10.0.0.1 11-12-00 On 10.0.0.1 11-15-00 Off 10.0.0.1 11-18-00 On 10.0.0.1 11-21-00 On 10.0.0.1 11-24-00 Off 10.0.0.1 11-27-00 On 10.0.0.1 11-30-00 On 10.0.0.1 11-33-00 On Как написать запрос в который будут попадать только те строки у которых Result = Off три и более раз подряд. То есть из примера должны вывестись только 10.0.0.1 11-03-00 Off 10.0.0.1 11-06-00 Off 10.0.0.1 11-09-00 Off Заранее спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 18:16:19
|
|||
|---|---|---|---|
Выбор записей с одинаковым значением подряд |
|||
|
#18+
Использовать три копии таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.03.2014, 23:06:31
|
|||
|---|---|---|---|
Выбор записей с одинаковым значением подряд |
|||
|
#18+
Причем сдвинутых на 1 и 2 строки. Может оказаться разумнее при добавлении обсчитывать предыдущие значения (достаточно выбрать с тем же айпи следующие две строки) и писать сигнал в отдельную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2014, 07:39:57
|
|||
|---|---|---|---|
Выбор записей с одинаковым значением подряд |
|||
|
#18+
что обозначает слово "подряд" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2014, 09:25:43
|
|||
|---|---|---|---|
Выбор записей с одинаковым значением подряд |
|||
|
#18+
вадячто обозначает слово "подряд"Очевидно, что при сортировке по времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2014, 09:27:59
|
|||
|---|---|---|---|
|
|||
Выбор записей с одинаковым значением подряд |
|||
|
#18+
Akina, спасибо за ответ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2014, 09:38:00
|
|||
|---|---|---|---|
Выбор записей с одинаковым значением подряд |
|||
|
#18+
а я бы на переменных предложил сделать. по идее, так экономичнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.03.2014, 10:19:30
|
|||
|---|---|---|---|
Выбор записей с одинаковым значением подряд |
|||
|
#18+
miksoftа я бы на переменных предложил сделать. по идее, так экономичнее. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2014, 08:41:19
|
|||
|---|---|---|---|
|
|||
Выбор записей с одинаковым значением подряд |
|||
|
#18+
Это ж старая задача на инвариант группы... (Номер по порядку)-(Номер по порядку внутри группы) = const для всех элементов группы Далее группируем по const все группы с числом элементов не менее заданного, определяем границы группы (min, max) И наконец отбираем все записи в рамках определенных границ В MS SQL решается через ROW_NUMBER(), в MySQL (за отсутствием этой функции) - несколько сложнее: http://sqlfiddle.com/#!2/65d0d/1 (индексами в примере не озадачивался) PS. JOIN на 3 таблицы был бы хорош, если б надо было найти все последовательности ровно из 3 строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.03.2014, 08:48:14
|
|||
|---|---|---|---|
|
|||
Выбор записей с одинаковым значением подряд |
|||
|
#18+
забыл уточнить, что не просто const, а уникальный const, то есть инвариант группы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1835062]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 397ms |

| 0 / 0 |
