Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wykorzystanie SQL do znalezienia całkowitej liczby klientów z ponad X zamówieniami

Spróbuj tego:

SELECT T1.products_bought, COUNT(T2.cnt) AS total
FROM (
    SELECT '<5' AS products_bought, 0 AS a, 4 AS b
    UNION ALL
    SELECT '5-10', 5, 10
    UNION ALL
    SELECT '>10', 11, 999999
) T1
LEFT JOIN
(
    SELECT COUNT(DISTINCT ProductID) AS cnt
    FROM ORDERS
    GROUP BY CustomerID
) T2
ON T2.cnt BETWEEN T1.a AND T1.b
GROUP BY a, b

Wynik:

products_bought  total
<5               3    
5-10             0    
>10              0    



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odwzoruj tinyint jako hibernację logiczną

  2. Pobieranie ostatniego wstawionego identyfikatora z wyrażeniem w mysql

  3. MySQL:Auto inkrementacja tylko z liczbami parzystymi lub nieparzystymi?

  4. Błąd podczas używania pymysql w flask

  5. Podstawowy (lub klucz) migracji Laravel Nazwa identyfikatora jest za długa