SQL Supprimer les lignes dupliquées avec le nombre le plus bas

Je ne peux pas find le moyen approprié pour supprimer les keys en double dans la table sql avec le plus petit nombre. S'il y a un doublon avec le même numéro, j'ai besoin d'en supprimer un.

Par exemple

Key Number Description 11111 5 Desc1 11111 4 Desc2 22222 2 Desc1 22222 2 Desc2 33333 3 Desc1 33333 5 Desc2 

Ici, j'ai besoin d'être supprimé la deuxième rangée avec le numéro 4 qui est plus petit que le numéro 5, l'un de la troisième ou quasortingème rangée, et la cinquième rangée qui a le plus petit numéro 3, puis la dernière rangée 5.

Requête pour supprimer le doublon dans SQL Server:

 ;with c as ( select *, row_number() over(partition by [Key] order by Number desc) as n from YouTable ) delete from c where n > 1 
 DELETE FROM ztable dd WHERE EXISTS ( SELECT * FROM ztable ex WHERE ex.zkey = dd.zkey AND (ex.znumber > dd.znumber OR (ex.znumber = dd.znumber AND ex.description > dd.description) ) ); 

Note: J'ai renommé la key et le nombre en zkey et en znumber pour éviter toute confusion avec les mots / mots-keys réservés. Similaire pour ztable.