У меня есть таблица названных треков:
user_id | track_id | music_type
.
.
.
.
track_id является первичным ключом, а user_id - это человек, который загрузил трек, и жанр может быть «хип-хоп», «рок», «поп», «электронный», «транс» и т. Д.
Мне нужно получить общее количество (track_id) для каждого пользователя, где жанр «рок» или «поп».
Я могу сделать это с помощью оконной функции:
select user_id, count(track_id) as total_tracks
from tracks
where genre = 'rock' or genre = 'pop'
group by user_id
;
Но как мне это сделать без использования оконных функций? Пересекается ли способ сделать это или сделать самосоединение?