Criar consultas SQL estatísticas percentuais

Neste vídeo mostro como criar uma consulta SQL representando percentual de um total, exemplo:

Em um hotel temos 50% de quartos livres, 15% de quartos reservados e 35% quartos ocupados.

Ou uma consulta que nos mostre em percentual quantos produtos ATIVOS e quantos Inativos (80% produtos ativos e 20% produtos inativos), no exemplo abaixo vamos exibir percentuais de produtos ativos e inativos: Temos 2352 produtos, 289 Inativos e 2063 Ativos, mas como representar em percentuais? Ativos 87.713% e Inativos 12.287%

select count(p.codprod), p.ativo ,
cast ((count(p.codprod)/tmp.total)*100 as numeric(10,3))
from produto p , (select cast(count(codprod) as numeric(10,3)) total from produto) tmp
group by p.ativo , tmp.total

Assista o vídeo: