Thiếu nhóm theo trong lựa chọn bên ngoài. Tất cả các tập hợp không phải là tổng hợp trong một câu lệnh đã chọn phải được liệt kê trong nhóm bởi.
SELECT aname, MAX(cruisingrange)
FROM Aircraft
WHERE aid IN(SELECT aid
FROM Certified
WHERE eid in (SELECT eid
FROM Certified
GROUP BY eid
HAVING COUNT(eid) > 3) )
GROUP BY aname
;
Lưu ý rằng bạn có một nhóm ở bên trong lựa chọn nhiều nhất; nhưng dường như bạn đang thiếu nó ở ngoài cùng.
Tôi cũng đồng ý ý bạn là in
hoặc equal
sẽ có nhiều hơn một EID được chứng nhận nếu vì vậy, bạn có thể cần in
so với =