Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
✅ Поток событий Azure Stream Analytics ✅ Fabric
Для каждой строки предложение OVER определяет группирование строк перед применением связанной статистической или аналитической функции.
Предложение OVER можно использовать в любом месте, где разрешена скалярная функция. Например, можно использовать предложение OVER в предложениях SELECT, WHERE, JOIN или GROUP BY.
Предложение OVER группирует строки непосредственно из входных данных запроса. Это не влияет на предикаты в предложении WHERE, условия соединения в предложении JOIN или условия группировки в предложении GROUP BY.
В настоящее время в предложении OVER поддерживаются следующие агрегатные функции:
- СУММА
- СРЕДНЕЕ
- МИН
- МАКС
Синтаксис
OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
<PARTITION BY clause> ::== PARTITION BY partition_key, ... [n]
<LIMIT DURATION clause> ::== LIMIT DURATION (unit, length)
<WHEN clause> ::== WHEN boolean_expression
Аргументы
<Предложение PARTITION BY>
Указывает, что для агрегатной или аналитической функции будут считаться только строки с тем же <partition_key> .
<Предложение LIMIT DURATION>
Указывает, сколько журналов из текущей строки включается в группу. Дополнительные сведения о поддерживаемых единицах и их сокращениях см. в РАЗДЕЛЕ DATEDIFF .
<ПРЕДЛОЖЕНИЕ WHEN>
Указывает логическое условие для строк, которые будут включены в группу.
Общие замечания
Применение статистической или аналитической функции с помощью OVER в результирующем наборе функции окна может привести к непредвиденным результатам. Функции окна изменяют метку времени событий, так как каждая операция окна выводит событие в конце окна. Текущая метка времени события может быть доступна с помощью system.timestamp(), после операции окна она будет отличаться от исходного атрибута времени события.
Примеры
Вычислить среднюю температуру за последние 5 минут на датчик:
SELECT AVG(temperature) OVER (PARTITION BY id LIMIT DURATION (minute, 5))
FROM input
Создайте оповещение, если ресурс был неработоспособным в течение последнего часа:
SELECT 1 AS alert
FROM input
WHERE MAX(healthy) OVER (PARTITION BY id LIMIT DURATION (hour, 1)) = 0