PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Por que minha consulta envolvendo divisão e COUNT sempre resulta em 1?


Você está tentando contar linhas distintas, mas não está usando um count(distinct ...)
SELECT 
    COUNT(distinct c.id) as "Total Customers",
    COUNT(distinct p.id) as "Total Sales",
    COUNT(distinct c.id) * 1.00 / COUNT(distinct p.id) as "Sales per customer"
FROM test_customers c
    LEFT OUTER JOIN test_purchases p ON c.id = p.cid

Observe que o desempenho não é ótimo