Put an inline view in your query that pre-orders your result set, then just select from the inline view. For example, to get your two biggest tables you would select where rownum < 3 of a presorted list of your tables.
select segment_name "TABLE", bytes/1048576 "MB"
from (select * from dba_segments order by BYTES desc)
where rownum < 3;
if you have multiple segments per table then you need to put the SUM function on line 1 and add a GROUP BY clause. Also, depending on your definition of "biggest" you would replace the BYTES column with other columns, or replace view dba_segments with another view.