Как выбрать строки с 5 различными значениями для каждого значения в других столбцах? - PullRequest
0 голосов
/ 24 февраля 2019

Для справки, это схема таблицы: приведение (pid, mid, role)

Что я хочу сделать, так это найти pid (ы) так, чтобы в них было ровно 5 различных ролейсередина.То есть, поскольку это таблица для актеров, где pid - это идентификатор актера, mid - это идентификатор фильма, а роль - роль, которую они играют, я хочу найти все идентификаторы актеров, которые имеют ровно 5 различных ролей в соответствующих идентификаторах фильмов:которых может быть больше одного, и что я также хочу эти идентификаторы фильмов.

Я не совсем уверен, как это сделать без слов, как 5 самостоятельных объединений, но я бы предпочел не делать этого, так как это будетбыть ресурсоемким.

Пример таблицы данных (таблица приведения)

Пример результата запроса

Заранее спасибо.

1 Ответ

0 голосов
/ 24 февраля 2019

Это то, что вы хотите?

select pid, mid
from casts
group by pid, mid
having count(distinct role) = 5;
...