我在另一个帖子上问了类似的问题.
How to find the number of types of buyers for each product per user_id?个
我正在使用MySQL工作台8.0.在本例中,我想找出购买产品一次、两次、一次以上、两次以上的唯一USER_ID的数量,等等.
与原始数据类似的样本数据如下所示.
user_id | Product |
---|---|
2 | chair |
1 | chair |
3 | chair |
4 | chair |
1 | chair |
2 | chair |
4 | table |
3 | table |
4 | table |
3 | table |
1 | table |
2 | table |
5 | table |
我要查找的数字是UNIQUE_ID的计数.我希望得到以下结果:
Product | BoughtOnce | BoughtTwice |
---|---|---|
chair | 4 | 2 |
table | 5 | 2 |
例如,4个独一无二的人只买了一把椅子,而2个独一无二的人买了两把椅子.同样,5个独一无二的人只买了一张桌子,2个独一无二的人买了两张桌子.
在另一个线程中,我可以给出按user_id和product划分的行号.
SELECT
user_id, Product, ROw_NUMBER() OVER(PARTITION BY `user_id`, Product) rn
FROM myData;
结果:
user_id | Product | rn |
---|---|---|
1 | chair | 1 |
1 | chair | 2 |
1 | table | 3 |
2 | chair | 1 |
2 | chair | 2 |
2 | table | 3 |
3 | chair | 1 |
3 | table | 2 |
3 | table | 3 |
4 | chair | 1 |
4 | table | 2 |
4 | table | 3 |
5 | table | 1 |
如何根据购买的商品数量来计算UNIQUE_ID的数量?
如果你也有其他方法,请让我知道.
如果你能帮忙,我将不胜感激.