Я создаю реферальную систему. Теперь у меня есть две таблицы один пользователей и второй продукт. В пользовательской таблице у меня есть два столбца, один из которых является идентификатором пользователя. Вот моя таблица.
+----+-------------+
| 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 | 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 |
+----+-------------+---------+------------------------------------+
Теперь, как я могу получить Desire Out Put Out From This result. Я пытаюсь выйти на улицу так.
User_id ,referrals, total price
35, 3(36,40,42) , 20000(this will be total price of user 35,36,40,41)