MySQL выберите запрос справки, как на картинках - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть таблица в MySQL, как показано ниже на рисунке 1:

SOURCE TABLE

Можете ли вы сказать мне, как сделать запрос на выборку, результат которого будет как на рисунке 2
и выбрать быстрее:

result

1 Ответ

1 голос
/ 11 февраля 2011

Предполагается, что у вас есть уникальное ограничение на STUD_ID,CLASS,LESSON

SELECT STUD_ID, 
       CLASS,
        MAX(CASE WHEN LESSON='MATH' THEN MARK END) AS MATH,
        MAX(CASE WHEN LESSON='CHEM' THEN MARK END) AS CHEM,

        ...
        AVG(MARK) AS `Avg`
GROUP BY STUD_ID, CLASS

(Если вам действительно нужен столбец ID, который не связан ни с одним идентификатором, вы можете использовать технику изздесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...