PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Perché la mia query relativa alla divisione e COUNT restituisce sempre 1?

Stai cercando di contare righe distinte, ma non stai usando un 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

Nota, le prestazioni non sono eccezionali