скажем, у меня есть таблица вроде этого:
+-----------------+-----------------+
| name | playlist |
+-----------------+-----------------+
| Jay-Z | chill vibes |
+-----------------+-----------------+
| Jay-Z | rap |
+-----------------+-----------------+
| Jay-Z | discover weekly |
+-----------------+-----------------+
| Imagine Dragons | discover weekly |
+-----------------+-----------------+
| ZEDD | discover weekly |
+-----------------+-----------------+
| Imagine Dragons | pop |
+-----------------+-----------------+
Мне нужно выбрать автора, который находится в плейлистах DISCOVER WEEKLY и RAP. Все, что я знаю, это плейлисты. Как это сделать с чистым SQL, возможно ли это?
вы можете использовать фильтр для того, чтобы количество отдельных плейлистов было равно числу, которое вы ищете
select name
from my_table
where playlist in ('discover weekly', 'rap')
group by name
having count(distinct playlist) = 2
Используйте группу и счет. увидеть ниже:
select name
from table1
where playlist in ('rap','discover weekly')
group by name
having count(distinct playlist) = 2;
Result: Jay-Z