У меня проблема с запросом MySQL, и у меня есть ощущение, что для этого потребуются таблицы, но я не очень разбираюсь в запросах на соединение и задавался вопросом, кто-то может мне помочь?MySQL выбор топ-4 мужских баллов и топ-2 женских баллов из другой таблицы
У меня есть две таблицы. Первый из них называется «университеты» и выглядит следующим образом:
id | name
1 | University One
2 | University Two
У меня также есть вторая таблица, которая выглядит под названием конкурентов, что выглядит следующим образом:
id | universityid | male | r1 | r2 | r3 | r4
Где universityid 'является внешним ключом ссылаясь на первую таблицу, «мужчина» является логическим, определяющим пол участника, а r1 - r4 - это оценки из разных раундов соревнований.
Так эта таблица может выглядеть следующим образом:
id | universityid | male | r1 | r2 | r3 | r4
-------------------------------------------------
1 | 1 | 1 | 200 | 100 | 150 | 200
2 | 1 | 1 | 50 | 100 | 150 | 200
3 | 1 | 1 | 50 | 100 | 150 | 200
4 | 1 | 1 | 50 | 100 | 150 | 200
5 | 1 | 0 | 50 | 100 | 150 | 150
6 | 1 | 0 | 50 | 100 | 150 | 150
7 | 2 | 1 | 200 | 200 | 150 | 200
8 | 2 | 1 | 200 | 100 | 150 | 200
9 | 2 | 1 | 50 | 100 | 150 | 200
10| 2 | 1 | 50 | 200 | 150 | 200
11| 2 | 0 | 50 | 100 | 150 | 150
12| 2 | 0 | 50 | 100 | 150 | 150
То, что я пытаюсь сделать, это найти сумму 4 верхних мужских очков, а верхние 2 женских оценок для каждого раунда (r1 - r2) для каждого университета и вернуть общее количество за каждый раунд. Затем добавьте их вместе, чтобы составить общий балл по всем раундам для каждого университета, а затем упорядочить ряды университета в порядке DESC по этим суммам.
Так возвращение таблица может выглядеть следующим образом
university.name | r1total | r2total | r3total | r4total | totalscore
---------------------------------------------------------------------
uni2name | 600 | 800 | 900 | 1100 | 3400
uni1name | 450 | 600 | 900 | 1100 | 3050
Любая помощь с этой проблемой будет высоко ценится.
Лучшие 4 мужские баллы для каждого раунда? Показать некоторые выборочные данные или создать скрипку. – Mihai
Я пробовал редактировать OP, чтобы сделать его немного яснее. –
Сделал новый запрос. – Mihai