Создание SQL-запроса вручную

01 сентября 2025

ID 228356

С помощью строки поиска вы можете вручную создавать SQL-запросы любой сложности для фильтрации событий.

Чтобы сформировать SQL-запрос вручную:

  1. Перейдите в раздел События веб-интерфейса KUMA.

    Откроется форма с полем ввода.

  2. Введите SQL-запрос в поле ввода. В запросах следует использовать одинарные кавычки.
  3. Нажмите на кнопку .

Отобразится таблица событий, соответствующих условиям вашего запроса. При необходимости вы можете отфильтровать события по периоду.

Поддерживаемые функции и операторы

  • SELECT – поля событий, которые следует возвращать.

    Для SELECT в программе поддержаны следующие функции и операторы:

    • Функции агрегации: count, avg, max, min, sum.
    • Арифметические операторы: +, -, *, /, <, >, =, !=, >=, <=.

      Вы можете комбинировать эти функции и операторы.

      Если вы используете в SQL-запросе функции агрегации, вы можете настроить отображение столбцов в таблице событий. После выполнения запроса без * столбцы придут в соответствие с запросом. Также недоступна сортировка событий по возрастанию и убыванию, а также получение статистики.

      Если в запросе используется группировка или агрегирующие функции, радар показывает не одно число, которое пришло по запросу "SELECT max(BytesOut) FROM `events` LIMIT 250", а распределение событий, из которых получается это число.

  • DISTINCT – используется для удаления дубликатов из результирующего набора оператора SELECT. Следует использовать нотацию типа SELECT DISTINCT SourceAddress as Addressess FROM <остальная часть запроса>.
  • FROM – источник данных.

    При создании запроса в качестве источника данных вам нужно указать значение events.

  • WHERE – условия фильтрации событий.
    • AND, OR, NOT, =, !=, >, >=, <, <=
    • IN
    • BETWEEN
    • LIKE
    • ILIKE
    • inSubnet
    • match (в запросах используется синтаксис регулярных выражений re2, специальные символы требуется дополнительно экранировать с помощью обратной косой черты (\))
  • GROUP BY – поля событий или псевдонимы, по которым следует группировать возвращаемые данные.

    Если вы используете в SQL-запросе группировку данных, в списке событий будут отображаться пользовательские поля, указанные в запросе. Настройка столбцов таблицы в группе недоступна. В событиях группы можно настроить отображение столбцов. Также недоступна сортировка событий по возрастанию и убыванию, получение статистики.

  • ORDER BY – столбцы, по которым следует сортировать возвращаемые данные.

    Возможные значения:

    • DESC – по убыванию.
    • ASC – по возрастанию.
  • OFFSET – пропуск указанного количества строк перед выводом результатов запроса.
  • LIMIT – количество отображаемых в таблице строк.

    Значение по умолчанию – 250. Вы можете указать произвольное значение.

    Если при фильтрации событий по пользовательскому периоду количество строк в результатах поиска превышает заданное значение, вы можете отобразить в таблице дополнительные строки, нажав на кнопку Показать больше записей. Кнопка не отображается при фильтрации событий по стандартному периоду.

Если вы хотите указать в запросе специальный символ, вам требуется экранировать его, поместив перед ним обратную косую черту (\).

При создании нормализатора для событий вы можете выбрать, сохранять ли значения полей исходного события. Данные сохраняются в поле события Extra. Поиск событий по этому полю осуществляется с помощью оператора LIKE.

Если вы создали SQL-запрос вручную в строке поиска и затем переключились на конструктор, параметры запроса не перенесутся в конструктор: вам потребуется создать запрос в конструкторе заново. При этом запрос, созданный в конструкторе, не перезаписывает запрос, введенный в строке поиска, пока вы не нажмете на кнопку Применить в окне конструктора. Если вы создали запрос в конструкторе и затем переключились на поисковую строку, параметры запроса перенесутся автоматически.

Используемые в поисковых запросах псевдонимы не должны содержать пробелов.

Подробнее об SQL см. в справке ClickHouse. Также см. поддерживаемые функции ClickHouse.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!