我正在尝试生成一个简单的报告,该报告将显示拥有不同品牌数量的客户数量。我编写的以下查询一次生成一个所需的数字。我试着写一个循环,它需要很长时间。有替代方案吗?
SELECT COUNT(DISTINCT customer_id)
FROM
(
SELECT customer_id,COUNT(DISTINCT brand) AS no_of_customers
FROM table_A
WHERE brand_id != 10
GROUP BY customer_id
HAVING COUNT(DISTINCT brand) =1
ORDER BY customer_id) as t1;
这样做是为了给我一个客户计数,其中不同品牌的总数=1。我将品牌数量更改为 2,3,依此类推。请让我知道是否有办法自动执行此操作。
非常感谢。