Precisamos agrupar dados em um banco de dados Oracle e devemos obter a ProductNumber
e a Description
. O Description
precisa ser aquele com mais ocorrências dentro da tabela. Ambos são um varchar2
. Veja abaixo os dados brutos:
Número de produto | Descrição |
---|---|
abc | Produto ABC (com desconto) |
abc | Produto ABC |
abc | Produto ABC |
DEF | DEF do produto |
Resultado esperado:
Número de produto | Descrição |
---|---|
abc | Produto ABC |
DEF | DEF do produto |
Tentamos isso, mas não encontramos uma maneira de incluir o Description
com a maioria das ocorrências.
select distinct cnt1.ProductNumber
from (select COUNT(*) as total, ProductNumber
from Inventory
group by ProductNumber) cnt1,
(select MAX(total) as maxtotal, ProductNumber
from (select COUNT(*) as total, ProductNumber
from Inventory
group by ProductNumber)
group by ProductNumber) cnt2
where cnt1.total = cnt2.maxtotal;
Aqui você pode encontrar um violino .
Você sabe como poderíamos fazer isso?