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

Hvorfor resulterer min forespørgsel, der involverer division og COUNT, altid i 1?

Du forsøger at tælle adskilte rækker, men bruger ikke en 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

Bemærk, ydeevnen er ikke fantastisk




  1. Brug af rekursion til at bygge navigation

  2. Tilføj DATE- og TIME-felter for at få DATETIME-feltet i MySQL

  3. Undervurderer jeg MySQL?

  4. MYSQL OG forespørgsel for at opfylde i samme kolonne