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

Jak získat nejčastější hodnotu SQL

„Nejčastěji se vyskytující hodnota“ v distribuci je ve statistice odlišný pojem s odborným názvem. Říká se tomu MODE distribuce. A Oracle má STATS_MODE() funkce pro to. https://docs.oracle.com/cd/B19306_01 /server.102/b14200/functions154.htm

Například pomocí EMP tabulka ve standardním SCOTT schéma, select stats_mode(deptno) from scott.emp vrátí 30 - číslo oddělení s nejvíce zaměstnanci. (30 je "název" nebo číslo oddělení, NENÍ to počet zaměstnanců v tomto oddělení!)

Ve vašem případě:

select stats_mode(h.name) from (the rest of your query)

Poznámka :pokud jsou dva nebo více hotelů shodné pro „nejčastější“, pak STATS_MODE() vrátí jeden z nich (nedeterministický). Pokud potřebujete všechny svázané hodnoty, budete potřebovat jiné řešení - dobrý příklad je v dokumentaci (odkaz výše). Toto je zdokumentovaná chyba v chápání a implementaci statistického konceptu společností Oracle.



  1. Přidejte dny k datu v PostgreSQL

  2. Bezpečná implementace konfigurovatelného spojovacího systému

  3. Jaké možnosti mám, abych zrychlil svou OBJEDNÁVKU BY?

  4. ekvivalent create_series() v MySQL