【发布时间】:2013-07-11 08:06:56
【问题描述】:
假设我有一个包含以下列的表格:
客户 ID、产品 ID
我想看到如果我有 100,000 个客户,我想对他们进行分组,这样我就可以看到 X 个客户有 Y 个产品。例如,2000 位客户可能有 5 次购买,1000 位客户可能有 4 种产品,10 位客户可能有 25 种产品,等等。如何根据客户数量对 X 个产品进行分组?
数据库是 Oracle。
样本数据集:
customerID productId
---------- ----------
12345 33035
12345 33049
12345 33054
56789 32777
56789 32897
56789 32928
56789 32958
56789 33174
56789 33175
56789 33410
56789 35101
67890 32777
67890 32897
67890 32928
67890 32958
67890 33174
67890 33175
67890 33410
67890 35101
45678 33035
45678 33289
45678 34354
45678 36094
23456 32778
23456 33047
23456 33051
34567 32776
34567 32778
34567 33162
这导致了这个分组(基于示例数据集),其中有 3 名客户拥有 3 种产品,2 名客户拥有 8 种产品,1 名客户拥有 4 种产品。
number_customers number_products
3 3
2 8
1 4
我尝试了一堆 group by 语句,但我遗漏了一些东西。任何帮助将不胜感激。
谢谢
【问题讨论】:
-
你能展示一些示例数据吗?您使用的是哪个 RDBMS?