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

Всем привет. Возможно sumMap запретить удалять нулевые значения?

6 ответов

9 просмотров

да, через tuple(value)

Dmitry K- Автор вопроса
Dmitry K- Автор вопроса
【D】【J】
да, через tuple(value)

Вот таблица для примера CREATE TABLE table_test ( `field` LowCardinality(String), `fieldMap1` SimpleAggregateFunction(sumMap, Tuple(Array(String), Array(Int64))), `fieldMap2` SimpleAggregateFunction(sumMap, Tuple(Array(String), Array(Int64))), `fieldMap3` SimpleAggregateFunction(sumMap, Tuple(Array(String), Array(Int64))), `total` SimpleAggregateFunction(sum, Int64) ) ENGINE = AggregatingMergeTree() ORDER BY field SETTINGS index_granularity = 4096

Dmitry K
не совсем понял

сорри я погнал, думал про аггрегаций, имхо только заменой на спец. значение типа: select sumMap(arrayMap(a->coalesce(a,-999999),x), y) from ( select [2,3,null,2,3] AS x, [1,1,2,3,4] as y )

Dmitry K- Автор вопроса
【D】【J】
сорри я погнал, думал про аггрегаций, имхо только ...

ну т.е. в данном случае вообще никак получается. если в fieldMap1 уже лежит [['a'],[1]] и приходит [['a'],[-1]], то он удалит ключ "а" со значением 0

Dmitry K
Вот таблица для примера CREATE TABLE table_test ( ...

стоп, у вас же строки как ключи, все должно быть ок. у вас где нулевые значения приходят?

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

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

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
Почему никто не подсказал, что можно объявить свои типы данных, в которых меньше полей, чем в отданном джейсоне, и добавлять их по необходимости?
Strange Rabbit
10
Хтось використовував Vapor на Windows?
Jaroshevskii
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Карта сайта