ReplacingMergeTree виртуальная колонка по которой можно понять, какая строка последняя? если явно колонку version не указывал?
«Последнюю в выборке, если ver не задан. Под выборкой здесь понимается набор строк в наборе партов, участвующих в слиянии. Последний по времени создания парт (последний инсерт) будет последним в выборке. Таким образом, после дедупликации для каждого значения ключа сортировки останется самая последняя строка из самого последнего инсерта.»
спасибо, как оно работает понимаю, мне бы для случаев когда дедупликация ещё не произошла применить к колонкам вне ключа сортировки argMax по колонке ver, которая не была указана присоздании таблицы, есть ли такой враиант? или надо пересоздавать таблицу с явно указанной колонкой ver, которую потом смогу использовать как второй агрумент в argMax?
таблица большая, к которой обращаетесь?
нет, сотни тысяч, может будут миллионы
колонка с датой есть?
в целом — есть, но могут быть и абсолютно идентичные строки
ну тогда если не сможете подобрать подобный запрос с сортировкой и лимитом (select ... Order by pk, time desc limit 1 by pk) Можно попробовать select from final Ну либо пересоздать с ver полем Может буду варианты лучше...
да, получается не тполя ни для argMax, ни для использования в order by с limit by, думал, может есть какая-то виртуальная колонка заменяющая указанную явно ver, спасибо за время!
полистайте историю, мб найдете решение ещё
наверное можно использовать виртуальное поле _part
спасибо, а лучше использовать его, или _part_index?
я не знаю что такое _part_index, если вам подходит то используйте
уже проверил, просто какой-то порядковый номер парта, подходит, спасибо
Обсуждают сегодня