Как написать запрос Кусто, чтобы выбрать только строки, которые имеют уникальные значения в одном поле - PullRequest
0 голосов
/ 17 октября 2018

Имея этот ввод:

let t1 = datatable(id:string, col1:string, col2:string)
[
    '1', 'col1_1', 'col2_1',
    '2', 'col1_2', 'col2_2',
    '3', 'col1_3', 'col2_3',
    '4', 'col1_4', 'col2_4',
    '1', 'col1_1', 'col2_11',
];
t1 
| distinct id, col1

Мне нужен запрос, который выберет только строки с уникальными значениями в поле «id».Я понимаю, что есть два возможных выхода:

Выход 1:

'1', 'col1_1', 'col2_1',
'2', 'col1_2', 'col2_2',
'3', 'col1_3', 'col2_3',
'4', 'col1_4', 'col2_4',

Выход 2:

'2', 'col1_2', 'col2_2',
'3', 'col1_3', 'col2_3',
'4', 'col1_4', 'col2_4',
'1', 'col1_11', 'col2_11',

1 Ответ

0 голосов
/ 17 октября 2018

Вы можете использовать агрегатную функцию any () , чтобы получить значения col1 и col2 на основе уникальных значений в столбце 'id'.

let t1 = datatable(id:string, col1:string, col2:string)
[
    '1', 'col1_1', 'col2_1',
    '2', 'col1_2', 'col2_2',
    '3', 'col1_3', 'col2_3',
    '4', 'col1_4', 'col2_4',
    '1', 'col1_1', 'col2_11',
];
t1 
| summarize any(col1), any(col2) by id
...