Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como obter o SQL de valor mais frequente


O "valor que ocorre com mais frequência" em uma distribuição é um conceito distinto em estatística, com um nome técnico. É chamado de MODO da distribuição. E a Oracle tem o STATS_MODE() função para isso. https://docs.oracle.com/cd/B19306_01 /server.102/b14200/functions154.htm

Por exemplo, usando o EMP tabela no padrão SCOTT esquema, select stats_mode(deptno) from scott.emp retornará 30 - o número do departamento com mais funcionários. (30 é o "nome" ou número do departamento, NÃO é o número de funcionários desse departamento!)

No seu caso:
select stats_mode(h.name) from (the rest of your query)

Observação :se dois ou mais hotéis estiverem empatados em "mais frequente", então STATS_MODE() retornará um deles (não determinístico). Se você precisar de todos os valores vinculados, precisará de uma solução diferente - um bom exemplo está na documentação (link acima). Esta é uma falha documentada na compreensão e implementação do conceito estatístico da Oracle.