sql >> Databáze >  >> RDS >> Oracle

SQL vypočítat frekvenci položek pomocí více / závislých sloupců?

Pokud chcete jednoduše aktualizovat svou tabulku s prioritou, vypadala by takto:

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

Pokud chcete vybrat data, můžete použít analytický dotaz:

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

To poskytuje počet různých stavů na ovoce.



  1. Syntaxe MySQL INNER JOIN

  2. Fulltextové vyhledávání Postgres:jak hledat více slov ve více polích?

  3. InnoDB indexuje před a po importu

  4. GROUP BY pro spojení/sloučení sloupce