Informati sul significato di DISTINCT.

Il row_number che usi rende tutti i record unici.

Detto questo non capisco perché lo usi li. Dovresti usarlo nella prima select.