How to display values excluding maximum value based on column that is duplicated
You cannot use an aggregated on WHERE clause. Instead, you could join your table with your grouped result set and discard maximum value.

select t1.event_no,
       t1.bs_id
from   bs_bank_mast t1
join   (select   event_no, max(bs_id) max_bs_id
        from     bs_bank_mast 
        group by event_no 
        having   count(*) &gt; 1) t2
on     t2.event_no = t1.event_no
and    t1.bs_id &lt;&gt; t2.max_bs_id;




event_no | bs_id
-------: | ----:
 1692163 | 40672
 1692163 | 40672
 1723264 | 67460
 1723264 | 67499
 1723265 | 67383
 1723266 | 67735
 1723266 | 67423
 1723266 | 67969
 1723266 | 67501



dbfiddle here