Функция procCountDistinct
вычисляет количество уникальных значений по экземпляру процесса в указанной колонке.
Можно применять к любому типу данных. NULL значения игнорируются при подсчете.
procCountDistinct(колонка|выражение [, фильтр])
- колонка или выражение — имя столбца из таблицы event, по которому будет работать функция. Также можно написать выражение с более сложной логикой агрегации.
- фильтр — необязательное условие фильтрации для указания того, какие значения следует учитывать при агрегировании.
Запрос:
select
extId,
procCountDistinct(event.cost) as "Кол-во"
from process
Данные на входе
Данные на выходе
Process
Event
extId |
cost |
1 |
100 |
1 |
400 |
1 |
500 |
1 |
200 |
1 |
null |
2 |
200 |
2 |
100 |
2 |
50 |
2 |
400 |
2 |
200 |
Запрос
select
extId,
procCountDistinct(event.name, event.cost=200) as "Кол-во"
from process
Данные на входе
Данные на выходе
Process
Event
extId |
name |
cost |
1 |
A |
100 |
1 |
B |
400 |
1 |
C |
500 |
1 |
D |
200 |
1 |
E |
null |
2 |
A |
200 |
2 |
B |
100 |
2 |
B |
50 |
2 |
C |
400 |
2 |
A |
200 |