Đây là một ví dụ về truy vấn "set-inside-sets". Tôi khuyên bạn nên kết hợp với having
, bởi vì nó là cách tiếp cận linh hoạt nhất.
select score
from t
group by score
having sum(id = 2) > 0 and -- has id = 2
sum(id = 4) > 0 -- has id = 4
Điều này đang làm là tổng hợp theo điểm số. Sau đó, phần đầu tiên của having
mệnh đề (sum(id = 2)
) đang đếm có bao nhiêu "2" trên mỗi điểm. Thứ hai là đếm xem có bao nhiêu "4" s. Chỉ những điểm có "2" và "4" mới được trả về.