sql >> Databasteknik >  >> RDS >> Oracle

SQL beräkna objektfrekvens med hjälp av flera / beroende kolumner?

Om du helt enkelt vill uppdatera din tabell med prioritet ser den ut så här:

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

Om du vill välja data kan du använda en analytisk fråga:

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

Detta ger antalet distinkta tillstånd per frukt.



  1. Finns det någon skillnad mellan DATE_SUB() och att använda aritmetiska operatorer för beräkning av datum och tid?

  2. NLSSORT() Funktion i Oracle

  3. SQL DROP COLUMN för nybörjare

  4. mysql långsam fråga