SQL Выбор нескольких строк, которые разделяют один столбец и содержат одно из нескольких значений в другом

0

скажем, у меня есть таблица вроде этого:

+-----------------+-----------------+
| 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, возможно ли это?

  • 0
    Что ты уже испробовал????
Теги:
select

2 ответа

2
Лучший ответ

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

  select name  
  from my_table  
  where playlist in ('discover weekly', 'rap')
  group by name
  having count(distinct playlist) = 2
1

Используйте группу и счет. увидеть ниже:

select name
from table1
where playlist in ('rap','discover weekly')
group by name
having count(distinct playlist) = 2;

Result:  Jay-Z
  • 0
    только поздно
  • 0
    Ага; ты вспышка ТАК
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню