正如 Rene 所说,您不能选择不在 group by 子句中的列。
如果您想选择这些列,但仅适用于studentid具有某些标准的 s,count(*) = 2您可以这样做:
select *
from
(SELECT e.*, count(*) over (partition by e.studentid) cnt
FROM enrolled e
FULL OUTER JOIN student s ON e.studentid = s.sid
WHERE ((e.quarter = 'Fall') OR (e.quarter = 'Spring'))
)
where cnt = 2
或者
SELECT e.*, count(*) over (partition by e.studentid) cnt
FROM enrolled e
FULL OUTER JOIN student s ON e.studentid = s.sid
WHERE ((e.quarter = 'Fall') OR (e.quarter = 'Spring'))
AND (select count(*) from enrolled i where i.studentid = e.studentid) = 2
无论如何,你不能==只做=