Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak uzyskać najczęstszą wartość SQL?

„Najczęściej występująca wartość” w dystrybucji to odrębne pojęcie w statystyce, posiadające nazwę techniczną. Nazywa się to TRYBEM dystrybucji. A Oracle ma STATS_MODE() funkcja dla niego. https://docs.oracle.com/cd/B19306_01 /server.102/b14200/functions154.htm

Na przykład za pomocą EMP tabela w standardowym SCOTT schemat, select stats_mode(deptno) from scott.emp zwróci 30 - numer działu z największą liczbą pracowników. (30 to „nazwisko” lub numer działu, NIE jest to liczba pracowników w tym dziale!)

W Twoim przypadku:

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

Uwaga :jeśli dwa lub więcej hoteli ma taką samą liczbę „najczęściej”, wtedy STATS_MODE() zwróci jeden z nich (niedeterministyczny). Jeśli potrzebujesz wszystkich powiązanych wartości, będziesz potrzebować innego rozwiązania - dobrym przykładem jest dokumentacja (link powyżej). Jest to udokumentowana wada w zrozumieniu i implementacji koncepcji statystycznej przez Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak wstawić klucz obcy do tabeli

  2. ORA-01591 - Oracle usuwa dane ze zdalnej tabeli serwera sql

  3. Zestaw wyników#getDate() semantyka

  4. Jak dodać jeden do sznurka w Oracle?

  5. Jaka jest najlepsza metoda, aby zawsze uzyskać 2 miejsca po przecinku w Oracle?