sql >> Database teknologi >  >> RDS >> Oracle

SQL beregne varefrekvens ved hjælp af flere / afhængige kolonner?

Hvis du blot ønsker at opdatere din tabel med prioritet, vil den se sådan ud:

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

Hvis du vil vælge dataene, kan du bruge en analytisk forespørgsel:

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

Dette giver antallet af forskellige tilstande pr. frugt.



  1. Ekskluderingsbegrænsning på en bitstrengskolonne med bitvise AND-operator

  2. Sammenlign resultatet af to tabelfunktioner ved at bruge en kolonne fra hver

  3. Den nemmeste måde at lave en rekursiv selv-join på?

  4. Sagsfremstilling i MySQL