PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dlaczego moje zapytanie obejmujące dzielenie i COUNT zawsze daje 1?

Próbujesz policzyć różne wiersze, ale nie używasz 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

Uwaga, wydajność nie jest świetna




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wielkość liter nie jest wrażliwa jak (ilike) w Datamapperze z Postgresql

  2. Stan SQL:42883, Żadna funkcja nie pasuje do podanej nazwy i typów argumentów. Ale ta funkcja faktycznie istnieje

  3. PostGIS w akcji

  4. Wydajność obliczeń i sortowania Delta E (CIE Lab) w SQL

  5. PostgreSQL Warunek „Gdzie liczyć”