计算推介次数并从产品表中计算价格

时间:2019-10-18 10:54:16

标签: mysql sql mysql-5.6

我正在创建推荐系统。现在我有两个表,一个是用户,第二个是产品。 在“用户表我”中有两列,一是用户ID,一是refered_by。 这是我的桌子。

+----+-------------+
| id | referred_by |
+----+-------------+
| 35 | 0           |
| 36 | 35          |
| 40 | 35          |
| 41 | 35          |
| 44 | 41          |
| 45 | 36          |
| 46 | 41          |
+----+-------------+

这是查询。此查询的推荐数量

select referred_by, count(*) from users group by referred_by.

但是我可以修改用户ID 35之类的结果吗?3推荐40、41和46。

现在我有产品表,并且用户ID在产品表中。

+----+---------+---------------+
| id | user_id | product_price |
+----+---------+---------------+
|  1 |      37 |           300 |
|  2 |      38 |           300 |
|  3 |      40 |           300 |
|  4 |      41 |           300 |
|  5 |      42 |           300 |
|  6 |      44 |           300 |
|  7 |      45 |           300 |
|  8 |      35 |           300 |
|  9 |      35 |           300 |
| 10 |      35 |           300 |
| 11 |      35 |           300 |
| 12 |      46 |           300 |
+----+---------+---------------+

我的内部加入查询。

select users.id,users.referred_by
,orders_products.user_id,orders_products.product_price 
from users 
inner join  orders_products  on  users.id=orders_products.user_id;

并输出。

| id | referred_by | user_id | product_price |
+----+-------------+---------+---------------+
| 40 | 35          |      40 |           300 |
| 41 | 35          |      41 |           300 |
| 44 | 41          |      44 |           300 |
| 45 | 36          |      45 |           300 |
| 35 | 0           |      35 |           300 |
| 35 | 0           |      35 |           300 |
| 35 | 0           |      35 |           300 |
| 35 | 0           |      35 |           300 |
| 46 | 41          |      46 |           300 |
+----+-------------+---------+---------------+

现在。我正在尝试做的。 如果用户ID 35拥有3个推介36,40和41,则计算价格35,36,40和41的总和。 手段。 请她在下一级尝试@@我正在使用此查询。

select users.id,users.referred_by
,orders_products.user_id,sum(orders_products.product_price)
 from users 
inner join  orders_products  on  users.id=orders_products.user_id group by user_id;



+----+-------------+---------+------------------------------------+
| id | referred_by | user_id | sum(orders_products.product_price) |
+----+-------------+---------+------------------------------------+
| 35 | 0           |      35 |                               1200 |
| 40 | 35          |      40 |                                300 |
| 41 | 35          |      41 |                                300 |
| 44 | 41          |      44 |                                300 |
| 45 | 36          |      45 |                                300 |
| 46 | 41          |      46 |                                300 |
+----+-------------+---------+------------------------------------+

现在如何从该结果中获得欲望投放。 我正试图像这样被淘汰。

User_id ,referrals, total price
35,      3(36,40,42)        ,  20000(this will be total price of user 35,36,40,41)

0 个答案:

没有答案