Здравствуйте! Никак не могу вытащить нужную информацию в связке из базы.
Имеются три таблицы:
student
+------+----------+-----------+----------+
| id | firtName | lastName | average |
+------+----------+-----------+----------+
|---1---|--Сергей-|-Сидоров-|---4.77---|
+------+----------+-----------+----------+
|---2---|--Петр---|-Суворов--|----4.5---|
+------+----------+-----------+----------+ и т.д.
marks
+------------+------------+-------+
| student_id | course_id | mark |
+------------+------------+-------+
|-----1-------|------1-----|---5----|
+------------+------------+-------+
|-----1-------|------2-----|---4----|
+------------+------------+-------+
|-----1-------|------3-----|---2----|
+------------+------------+-------+
|-----2-------|------2-----|---3----|
+------------+------------+-------+
|-----2-------|------1-----|----3----|
+------------+------------+-------+
|-----2-------|------3-----|---4----|
Из этих таблиц нужно вывести данные в таком виде(причет только 10 человек, в порядке убывания average)
+------+----------+-----------+----------+--------------------------------+
| id | firtName | lastName | average | предмет - оценка +
+------+----------+-----------+----------+--------------------------------+
|---1---|-Сергей--|-Сидоров-|--4.77----|-1 - 5 2 -4 3 - 2 -|
+------+----------+-----------+----------+--------------------------------+
|---2---|---Петр--|-Суворов-|---4.5-----|-1 - 3 2 - 3 3 - 4 -|
+------+----------+-----------+----------+--------------------------------+
У меня получается выводить 10 человек в порядке убывания average, но никак не могу добавить к ним оценки.
SELECT * FROM student ORDER BY average DESC LIMIT 10
Буду благодарен за любую помощь!
UPD.
Сделал такой запрос:
SELECT * FROM student,marks WHERE student_id=id ORDER BY average DESC LIMIT 10
Но появляются дубликаты.. как от них избавиться? Должно остаться к первой записи, только то что обведено желтым