Oracle
 sql >> Base de données >  >> RDS >> Oracle

SQL calcule la fréquence des éléments à l'aide de colonnes multiples/dépendantes ?

Si vous souhaitez simplement mettre à jour votre table avec la priorité, cela ressemblerait à :

update my_table x
   set popularity = ( select count(distinct state) 
                        from my_table
                       where fruit = x.fruit )

Si vous souhaitez sélectionner les données, vous pouvez utiliser une requête analytique :

select state, fruit
     , count(distinct state) over ( partition by fruit ) as popularity
  from my_table

Cela fournit le nombre d'états distincts, par fruit.