-- SQL para listar todas as mídias com quantidade de visualizações em ordem decrescente
SELECT 
    m.id,
    m.title,
    m."alternativeTitle",
    m.type,
    m.status,
    m.rating,
    m."releaseYear",
    m.genres,
    COALESCE(COUNT(mv.id), 0) as total_visualizacoes
FROM 
    public."Media" m
LEFT JOIN 
    public."MediaView" mv ON m.id = mv."mediaId"
GROUP BY 
    m.id, 
    m.title, 
    m."alternativeTitle", 
    m.type, 
    m.status, 
    m.rating, 
    m."releaseYear", 
    m.genres
ORDER BY 
    total_visualizacoes DESC, 
    m.title ASC;

-- Versão simplificada (apenas título e visualizações)
-- SELECT 
--     m.title,
--     COALESCE(COUNT(mv.id), 0) as total_visualizacoes
-- FROM 
--     public."Media" m
-- LEFT JOIN 
--     public."MediaView" mv ON m.id = mv."mediaId"
-- GROUP BY 
--     m.id, m.title
-- ORDER BY 
--     total_visualizacoes DESC;
