184 похожих чатов

Всем привет. Есть колонка с массивами упорядоченных туплов (или массивов, если

так удобнее). Как можно в каждом массиве удалить все туплы, перед которыми был тупл с таким же вторым элементом?
Что-то вроде arrayCompact(arr), только с доп условием, что сравниваем не элементы целиком, а elem.2.
Было: [(1, a), (2, b), (3, b), (4, c)]
Стало: [(1, a), (2, b), (4, c)]

2 ответов

14 просмотров

SELECT [(1, 'a'), (2, 'b'), (3, 'b'), (4, 'c')] AS arr, arrayFilter((x, y) -> ((x.2) != y), arr, arrayPushFront(arrayPopBack(arr.2), '')) AS x Query id: ae74a2c7-5bc5-4b77-8fc4-85fd7e6bca25 ┌─arr───────────────────────────────┬─x─────────────────────────┐ │ [(1,'a'),(2,'b'),(3,'b'),(4,'c')] │ [(1,'a'),(2,'b'),(4,'c')] │ └───────────────────────────────────┴───────────────────────────┘ Но вообще хорошо бы что бы arrayCompact работала как Higher-order function Оказывается она уже Higher-order function, но с поведением как у arrayMap, что не удобно https://github.com/ClickHouse/ClickHouse/issues/14778

Sergey-Churin Автор вопроса
Dmitry [Altinity] Titov
SELECT [(1, 'a'), (2, 'b'), (3, 'b'), (4, 'c')...

спасибо, отлично👍. Правда есть нюанс. А если второй элемент тупла - это не строка, а какой-то хитрый тип? Например, у меня он сам тоже тупл из енума и числа. Я так понимаю оно спотыкается о arrayPushFront(..., ''). В принципе я сконвертировал в строку и норм, оно потом по итогу группируется по ней. Но делать строку сразу, наверное неэффективно, лучше в самом конце такое преобразование делать.

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
падает джоба хотя уже была собрана на соседнем namespace, куда капать? │ │ Copying blob sha256:2fa066caddb8f09a71082b03aa43046f79346a01d9c89e06a1f508bb1207dba5 427 │ │ Copyin...
Andrei St
6
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us 👉We offer Interview Support :-for a low cost variety of tech...
Rambabu Nallamilli
3
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Hello experts, Could someone kindly tell me how to run vacuum inside a plpgsql function? If you have any link please share. Thank you
Amol Palav
10
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Карта сайта