Ниже приведена таблица, в которой у меня есть customer_id и разные телефоны, которые у них есть.
customer_id phone_number
101 123456789
102 234567891
103 345678912
102 456789123
101 567891234
104 678912345
105 789123456
106 891234567
106 912345678
106 456457234
101 655435664
107 453426782
Теперь я хочу найти customer_id и количество различных телефонных номеров.
Поэтому я использовал этот запрос:
select distinct customer_id ,count(distinct phone_number)
from customer_phone;
customer_id no of phones
101 3
102 2
103 1
104 1
105 1
106 3
107 1
И, исходя из приведенной выше таблицы, моей конечной целью является достижение приведенного ниже вывода, который берет подсчеты и помещает их в разные корзины, а затем подсчитывает количество потребителей, попадающих в эти корзины.
Buckets no of consumers
3 2
2 1
1 4
Существует около 200 миллионов записей. Не могли бы вы объяснить эффективный способ работы над этим?