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

Ребят, привет, подскажите, если ли для таблицы с engine =

ReplacingMergeTree виртуальная колонка по которой можно понять, какая строка последняя? если явно колонку version не указывал?

14 ответов

15 просмотров

«Последнюю в выборке, если ver не задан. Под выборкой здесь понимается набор строк в наборе партов, участвующих в слиянии. Последний по времени создания парт (последний инсерт) будет последним в выборке. Таким образом, после дедупликации для каждого значения ключа сортировки останется самая последняя строка из самого последнего инсерта.»

Zheka- Автор вопроса
Clir
«Последнюю в выборке, если ver не задан. Под выбор...

спасибо, как оно работает понимаю, мне бы для случаев когда дедупликация ещё не произошла применить к колонкам вне ключа сортировки argMax по колонке ver, которая не была указана присоздании таблицы, есть ли такой враиант? или надо пересоздавать таблицу с явно указанной колонкой ver, которую потом смогу использовать как второй агрумент в argMax?

Zheka
спасибо, как оно работает понимаю, мне бы для случ...

таблица большая, к которой обращаетесь?

Zheka- Автор вопроса
Clir
таблица большая, к которой обращаетесь?

нет, сотни тысяч, может будут миллионы

Zheka- Автор вопроса
Clir
колонка с датой есть?

в целом — есть, но могут быть и абсолютно идентичные строки

Zheka
в целом — есть, но могут быть и абсолютно идентичн...

ну тогда если не сможете подобрать подобный запрос с сортировкой и лимитом (select ... Order by pk, time desc limit 1 by pk) Можно попробовать select from final Ну либо пересоздать с ver полем Может буду варианты лучше...

Zheka- Автор вопроса
Clir
ну тогда если не сможете подобрать подобный запрос...

да, получается не тполя ни для argMax, ни для использования в order by с limit by, думал, может есть какая-то виртуальная колонка заменяющая указанную явно ver, спасибо за время!

Zheka
да, получается не тполя ни для argMax, ни для испо...

полистайте историю, мб найдете решение ещё

Zheka
спасибо, как оно работает понимаю, мне бы для случ...

наверное можно использовать виртуальное поле _part

Zheka- Автор вопроса
Denny [Altinity]
наверное можно использовать виртуальное поле _part

спасибо, а лучше использовать его, или _part_index?

Zheka
спасибо, а лучше использовать его, или _part_index...

я не знаю что такое _part_index, если вам подходит то используйте

Zheka- Автор вопроса
Denny [Altinity]
я не знаю что такое _part_index, если вам подходит...

уже проверил, просто какой-то порядковый номер парта, подходит, спасибо

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта