MySQL Select rows with same id but different multiple values in another colum
You can get it by using GROUP BY and COUNT(*)


create table users (user_id int, interest varchar(20));




insert into users values(1, 'sport');
insert into users values(2, 'it');
insert into users values(3, 'game');
insert into users values(1, 'it');
insert into users values(1, 'game');
insert into users values(3, 'it');
insert into users values(3, 'sport');




SELECT user_id
FROM   users
WHERE  interest IN ('game', 'it', 'sport')
GROUP BY user_id
HAVING count(*) = 3;


| user_id |
| ------: |
|       1 |
|       3 |


dbfiddle here