Разбираемся с дублями
Если вашу выборку нужно почистить от дублей, вы можете сделать это очень просто:
`SELECT * FROM your_table QUALIFY ROW_NUMBER() OVER(PARTITION BY column_id ORDER BY column_dt DESC) = 1;
В результате получим в выводе только уникальные строки *(вместо , конечно же, указываем корректный список полей).
QUALIFY + ROW_NUMBER() = никаких лишних подзапросов 🙃
Недостаток: пока что работает не во всех СУБД 🥲
Если СУБД не поддерживает оператор QUALIFY, можем чистить так: `WITH cte AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY column_id ORDER BY column_dt DESC) AS rn FROM your_table ) SELECT * FROM cte WHERE rn = 1;
P.S. Про сам QUALIFY я уже писала здесь.
#sql``