0
votes

Comment obtenir des lignes distinctes en fonction de colonnes sélectionnées au lieu de toutes les colonnes d'une table dans Oracle

J'essaie d'obtenir les premières colonnes distinctes pendant que la dernière colonne peut avoir une valeur. Si je dis distincts sur toutes les colonnes, cela me donne 8 rangées. Cette table est dynamique, donc j'aurai besoin de 3 colonnes distinctes et de toute valeur dans la dernière colonne.

J'ai le scénario suivant, xxx

résultat souhaité: xxx

J'ai essayé la solution sur ce lien mais Il ne fonctionne pas:

Oracle 11G SQL pour obtenir des valeurs uniques dans une colonne d'une requête multi-colonnes

Aide à Oracle


0 commentaires

3 Réponses :


0
votes

Utiliser row_number () code> avec la partition code> par code> les trois premières colonnes:

DBFiddle Demo sup> STR> P>

select * 
  from (
    select t.*, 
           row_number() over (partition by Name, Surname, Road order by pet) rn 
      from t)
  where rn = 1


0 commentaires

2
votes

Comme vous ne vous souciez pas de la dernière valeur de la colonne, une option simple consiste à l'agréger comme xxx


0 commentaires

0
votes

Avez-vous essayé ceci xxx


0 commentaires