У меня есть конкуренция, в которой представители могут использовать множество магазинов, магазины имеют точки, основанные на людях, входящих в магазин.MySQL Выберите ранг
Что мне нужно сделать, это выбрать ранг хранилища (где id = x), основанный на значении точек, если хранилище привязано, тогда ранг должен быть одним и тем же (т. Е. Два магазина в первом соединении)
Мне тогда нужно выбрать ранг репутации, основанный на сумме баллов репса.
Магазины
id name points rep_id
1 Regents Street 1501 3
2 Oxford Street 1500 2
3 Carnaby Street 1499 3
4 Edward Street 1499 1
5 Edward Street 1499 4
Репс
id name
1 John Smith
2 John Doe
3 Joe Smit
3 Lou Jackson
Магазин Лидеры:
1st - 1, Regents Street
2nd - 2, Oxford Street
3rd - 3,4,5
Rep Лидеры:
1st - 3, Joe Smit (3000)
2nd - 2, John Doe (1500)
3rd - 1,4 (1499)
У меня есть запрос на получение рангов магазина, но он не работает со связями.
SELECT id,
name,
points,
FIND_IN_SET(points,
(SELECT GROUP_CONCAT(points
ORDER BY points DESC)
FROM stores)) AS rank
FROM stores
WHERE id = 1
Благодаря
Пожалуйста, отредактируйте ваш вопрос с данными образца и желаемыми результатами. –
Я добавил желаемый рейтинг на основе данных. – rpiz