ReplacingMergeTree без использования FINAL и больших плясок с бубном ?
ok, сделал через PREWHERE IN... но может кто-то знает еще лучшее решение
Да, сделать селф джоин через подзапрос с макс версией
Ну я так и сделал, но может кто то это через MV делал
Можно подробнее, пример запроса? Я сейчас с такой проблемой столкнулся, хочу увидеть решение через селф
Select * from table PREWHERE (uniq, ver) in (select uniq, max(ver) from table group by uniq)
Я бы in переписал на join
чем вас вариант с аргМакс не устраивает?
и вас тоже >чем вас вариант с аргМакс не устраивает?
через argmax прийдётся все поля в group засунуть, а они могут изменяться. Возможно есть другой вариант. Если возможно - покажите плз. пример ?
limit 1 by - https://clickhouse.tech/docs/ru/sql-reference/statements/select/limit-by/
не надо все поля в груп... только ключи, а остальные поля как argmax()
Спасибо! сейчас поковыряю!
используя этот пример - https://clickhouse.tech/docs/ru/sql-reference/statements/select/limit-by/ работает все через SELECT * FROM limit_by ORDER BY id,val DESC LIMIT 1 BY id ... но с argMax не выходит. Можете подсказать запрос, основываясь на этом примере ?
select grp, number from ( select grp, number from `system`.numbers array join ['one', 'two', 'three'] as grp where number < 1000 ) order by grp, number limit 2 by grp
Это к чему? я вроде написал, что запрос "SELECT * FROM limit_by ORDER BY id,val DESC LIMIT 1 BY id" работает, и мой вопрос был о argMax :-)
SELECT id, argMax(val,val) FROM limit_by group by id;
дайте подзапрос с генерацией дупликатных данных - получите запрос... а так примеров прям в этом чате полно
Обсуждают сегодня