Oracle 10g では、SQL が例外をスローします:「式によるグループではありません」
select count(*)
from (
select h.personal_info_id pid,h.hbsag hbsag,h.sgpt sgpt,MAX(h.date_reported)
from health_checkup_info h
inner join personal_info p on h.personal_info_id = p.id
where
h.deleted = 0
and h.date_reported is not null
and h.hbsag in(1,2)
and p.deleted = 0
group by h.personal_info_id
) t where t.hbsag=1 and t.sgpt>=20
次に、「group by」パラメーターを変更し、「h.hbsag」「h.sgpt」を次のように追加します。
group by h.personal_info_id,h.hbsag,h.sgpt
しかし、結果は正しくありません。