DISTINCT opère sur toutes les colonnes du SELECT.

Je suppose que id est l'identifiant de la visite et qu'un médecin peut faire plusieurs visites donc être présent plusieurs fois dans la table mais...