воскресенье, 26 сентября 2021 г.

Одинаковый набор оценок

 В таблице marks есть поле usr  с кодом пользователя и поле mrk с оценкой. Для упрощения, другие поля не рассматриваются. Задача:  вывести пользователей, у которых такой же уникальный набор оценок, как у пользователя u2. 

Вариант запроса, решающего задачу:

with agg as

(select distinct mrk

    from marks

   where usr = 'u2')

select m.usr

  from marks m

  left join agg a on a.mrk = m.mrk

  having count(m.mrk) = count(a.mrk)

     and m.usr <> 'u2'

group by m.usr;

 

Пример данных таблицы marks:



Комментариев нет:

Отправить комментарий