Bạn có thể sửa đổi một chút câu trả lời trước đây của tôi và kết thúc với điều này:
DấuSELECT
mark,
sum(amount) AS sum_amount
FROM atable t
WHERE mark <> 'A'
OR NOT EXISTS (
SELECT *
FROM atable
WHERE id = t.id
AND mark = 'C'
)
GROUP BY
mark
;
Có một bản trình diễn trực tiếp tại SQL Fiddle .