как получить уникальные максимальные данные - PullRequest
1 голос
/ 26 мая 2019

У меня есть таблица ниже

userid      comp_dd     coursecode  qualification   course_id   course      passyear    totalmarks             func        stream
----------- ----------- ----------- --------------- ----------- -------------------------------------------------- ----------- -----------------
60          26          1           High School     15          Class 10     26          67                     2           All Subject
60          26          2           Senior Secondry 15          Class 12     26          85                     2           Commerce
60          2010        3           Graduates       4           B.Tech/B.E   2010        54                     1           IT/Computers
60          2013        4            Post Graduates 9           M.com        2013        98.5                   2           Commerce

Я хотел получить уникальную запись максимального кода курса, вывод должен быть

userid      comp_dd     coursecode  qualification   course_id   course      passyear    totalmarks             func        stream
----------- ----------- ----------- --------------- ----------- -------------------------------------------------- ----------- -----------------
60          2013        4            Post Graduates 9           M.com        2013        98.5                   2           Commerce

Будет много записей различных идентификаторов пользователей

Ответы [ 2 ]

2 голосов
/ 26 мая 2019

Я думаю, что вы хотите:

select t.*
from t
where t.coursecode = (select max(t2.coursecode)
                      from t t2
                      where t2.userid = t.userid
                     );

Вы также можете сделать это с оконными функциями, но коррелированный подзапрос часто быстрее с правильным индексом, который был бы на (userid, coursecode).

0 голосов
/ 26 мая 2019

Сортировка таблицы по coursecode по убыванию и получение 1-й строки:

select top 1 *
from tablename
order by coursecode desc

Это будет работать только в том случае, если в столбце coursecode нет дубликатов, поскольку он будет извлекать только 1 строку, но я полагаю, что это так, потому что вы говорите:

я хотел получить уникальную запись максимального курса

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