Как получить 2 строки, которым соответствует 1 ID?

Есть таблица:
id, name, gameID, scores
gameID - уникально для каждый двух игроков.
Можно ли достать первые 100 пар игроков(с наибольшими очками) одним запросом?
Лучше делать несколькими запросами?
  • Вопрос задан
  • 234 просмотра
Решения вопроса 2
AStek
@AStek
SELECT t1.*, t2.*, (t1.scores+t2.scores) as score_sum FROM talbe t1
JOIN table t2 ON t1.gameID = t2.gameID AND t2.id <> t1.id
ORDER BY score_sum DESC
LIMIT 100

как-то так...
Ответ написан
Комментировать
@Cyclop
можно, что-то вроде такого:
select gameID, sum(scores) as sum_score, group_concat(name order by name separator '; ') as gamers from table group by gameId order by sum_score limit 100
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы