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

Товарищи приветствую.... я уже всю голову сломал... ситуация следующая.

решил использовать ReplasingMergeTree для таблицы. навесил его на поле date_update (время записи) чтобы сохранял самые актуальные, при этом отсортировал по внутренним id, так вот ситуация в чем. для того чтобы избежать в селектах старых данных(дубляж) решил воспользоваться методом добавления поля sign но не использовать его как непосредственную таблицу по версионности а юзать его как доп параметр при вычислении суммы т.е. sum(amount*sign) и должно было получиться следующее. у меня допустим появился дубляж данных в 3-х строках. с одним id, и при вычислении он бы просуммировал все 3, но 1 из них имеет поле sign=-1 а значит вычтет себя из суммы, что по факту невилирует 2 записи и оставит результат 1-ой записи.
НО какого-то лешего получается иное... при вставке полей с -1 я вообще не вижу... после вставки получается так что остаются 2 записи с полями sign = 1 и сумма получается в 2 раза больше необходимой... подскажите где я свернул "не туда"?

11 ответов

15 просмотров

а как вы понимаете что строка дубляж и ей надо -1 выставить?

Александр- Автор вопроса
Clir
а как вы понимаете что строка дубляж и ей надо -1 ...

это на стороне внешнего сервиса, на питоне тяну запрос и проверяю перед вставкой его id если нахожу, то весь объект затягиваю и ставлю сигн -1 плюс новый объект на вствку, иначе только новый.

Александр
это на стороне внешнего сервиса, на питоне тяну за...

так если вы уже такое построили, зачем вам реплейсинг?

Александр- Автор вопроса
Clir
так если вы уже такое построили, зачем вам реплейс...

вообще сперва была чистая логика для реплейсинга, но был дубляж. поставил файнал в запрос.... и чет сегодня в пн встал... и думаю а на кой он мне.. потом могут проблемы возникнуть в времени запроса)

Александр- Автор вопроса
Clir
есть еще limit by, argmax

с лимитами так и не разобрался как нормально вытянуть, пытался, но в моем случае не удалось это сделать хотя возможно я дундук просто)

Александр
с лимитами так и не разобрался как нормально вытян...

limit 1 by попробуйте еще Ну и если у вас не вставляется с -1 в вашей логике, то видимо проблема с вставкой

Александр- Автор вопроса
Clir
limit 1 by попробуйте еще Ну и если у вас не встав...

сейчас переделал чутка вставку. вставил не в одном запросе 2 объекта в 2-х отдельных и вроде как начали записываться -1 но вышло ещ1 хуже.... осталось 2 записи -1 и 1 где -1 старая а 1 новая которая должна быть итоговой

Александр
сейчас переделал чутка вставку. вставил не в одном...

так у вас при вставке была дедупликация, видимо

Александр
сейчас переделал чутка вставку. вставил не в одном...

а вы sign добавляли в order by? иначе replacing будет стирать все записи с -1

Александр- Автор вопроса
Vladimir Goncharov
а вы sign добавляли в order by? иначе replacing бу...

нет без, видимо потому он это и делал...:)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта