![]()  | 
		
Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет !
Есть таблица - EventHistory
есть запрос
SELECT EventTime,Message,Source,Severity  FROM EventHistory WHERE (EventTime Between  '2017-02-23' AND '2017-02-23 23:59:59') AND (Message NOT LIKE '%снят%') Order by EventTime desc, Source asc 
нужно чтобы выводились только строки, повторяющиеся больше 5 в колонке Source раз за 10 минут с выводом их количества.
И если например насчиталось 58 строк за 5 минут, при этом их еще есть штук 500, то их группировать так же.
пример работы:
EventTime                            Message                                  Source                          Severity         Kol-vo
2017-02-23 23:59:59        Отсутствие связи с БП1              ConErrorBP_1                       101                58
2017-02-23 23:54:51        Отсутствие связи с БП1              ConErrorBP_1                       101                44
2017-02-23 23:50:09        Отсутствие связи с БП1              ConErrorBP_1                       101                63
2017-02-23 23:48:13        Отсутствие связи с БП12             ConErrorBP_12                      4                  13
2017-02-23 23:44:10        Отсутствие связи с БП4              ConErrorBP_4                        4                  32
и т.д.
фильтр Message NOT LIKE '%снят%' обязателен
короче для анализа логов
Неактивен
Делайте двойную группировку - по сперва времени, потом по source - и отфильтровывайте путем having count(*) > 5. Идея такая.
Неактивен
deadka написал:
Делайте двойную группировку - по сперва времени, потом по source - и отфильтровывайте путем having count(*) > 5. Идея такая.
знать бы как. 
я в SQL почти не шарю. Простой запрос еще могу. А этот навороченный запрос мне в свой код вставить надо для дальнейших процедур.
Неактивен
Неактивен
deadka написал:
SELECT
`EventTime`,`Source`,count(*) as `co`
FROM
`EventHistory `
WHERE
(`EventTime` Between '2017-02-23' AND '2017-02-23 23:59:59') AND (`Message` NOT LIKE '%снят%')
GROUP BY
`EventTime`,`Source`
HAVING
`co` > 5
ORDER BY
`EventTime` DESC, `Source` ASC
Спасибо огромное. Завтра попробую.
А где из этого видно, что сообщения группируются за промежуток в 5 минут ?
Неактивен
пишет invalid column name 'co'
Неактивен