Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да получите най-честата стойност SQL

„Най-често срещаната стойност“ в разпределението е отделна концепция в статистиката с техническо име. Нарича се РЕЖИМ на разпределението. И Oracle има STATS_MODE() функция за него. https://docs.oracle.com/cd/B19306_01 /server.102/b14200/functions154.htm

Например с помощта на EMP таблица в стандартния SCOTT схема, select stats_mode(deptno) from scott.emp ще върне 30 - броят на отдела с най-много служители. (30 е „името“ или номерът на отдела, това НЕ е броят на служителите в този отдел!)

Във вашия случай:

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

Забележка :ако два или повече хотела са обвързани за „най-чести“, тогава STATS_MODE() ще върне един от тях (недетерминиран). Ако имате нужда от всички обвързани стойности, ще ви е необходимо различно решение - добър пример е в документацията (свързана по-горе). Това е документиран пропуск в разбирането и прилагането на статистическата концепция от 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. Връзката не може да бъде повторно асоциирана, тъй като дъщерните обекти все още са отворени

  2. Обединяване на номер на Oracle и varchar

  3. PL/SQL максимален размер на VARRAY

  4. Грешка в израза if-else на задействане не се повдига

  5. Хибернация на собствената заявка - колона char(3).