Một phương pháp sử dụng tổng hợp và having
:
select s.user_id
from settings s
where (key, value) in ( ('color', 'blue'), ('size', '5') )
group by s.user_id
having count(*) = 2;
Điều này giả định rằng không có cài đặt nào trùng lặp (nếu vậy, bạn sẽ cần sử dụng count(distinct)
).