![]() |
выбор десятка подряд идущих одинаковых значений в SQL
собственно сабж
как выбрать из таблицы несколько (десяток например) одинаковых значений идущих подряд ? (mySQL) e.g. [1,2,3,4,5,6,7,8,9,33,33,33,33,33,1,2,3,4,55,4,5,6,76,..,23] вот этих 33 кол-во посчитать thx |
Цитата:
Цитата:
|
Razer, спасибо, но , гм,
че та я по-моему не так обьяснил есть у мя общем таблица, в нее функия которая работает раз в 5 мин (ф-ция мониторит специфический сервис) заносит результат, число, 0..255. если че та падает на серваке, она начинает писать в таблицу 0. так вот, мне нада каким то макаром выбирать из таблицы если есть больше десятка подряд идущих нулей на протяжении часа, то сервис будет перезапускаться, если меньше то все нормально, продолжаем работать дальше. |
da Chaos
Дык можешь проще выбирать 10 _последних_ значений? Тебе же нужно перезапускать сервис тогда, когда он в дауне - именно в этот момент нули в таблице и идут. |
Можно писать в таблицу время занесения(timestamp). Потом SELECT по 0, ORDER по времени, поставить LIMIT на сколько надо записей. Если записей 10, то взять timestamp из первого ряда, вычесть интервал и если timestamp последнего ряда больше результата - перезапускаем сервис.
|
Al-x ну и как ты это интересно все на SQL реализовать собрался? Может примерчик приведешь? :biggrin:
IMHO, поставленная задача не решается в общем виде одним только SQL (без других языков типа PHP, Perl и т.д.). P.S. Задача интерсная кстати. Но скорее всего, все-таки, можно ее в целом организовать подругому, например как предложил Saruman. |
Дык никто и не говорит, что всё в запросе. Сначала делаем выборку с лимитом и сортировкой по дате, а потом проделываем операции над результатом в "другом языке" :)
|
select title from your_table where count(title) > 1
select count(title) as count from your_table where count(title) > 1 |
пасиба ребяты что откликнулись
сделал пока как предложил Saruman |
| Часовой пояс GMT +4, время: 11:33. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.