Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на SQL за намиране на общия брой клиенти с над X поръчки

Опитайте това:

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

Резултат:

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. Време за съхранение в MySQL - тип данни?

  2. Най-добрият начин да направите претеглено търсене в множество полета в mysql?

  3. MySQL дава на редовете цял живот

  4. Грешка при JDBC връзката:неразпозната часова зона

  5. Codeiginter mysql, съхраняващ китайски знаци като въпросителни