Maybe something like this:SELECT *FROM (SELECT ID, PART_NUMBER, LOT_NUMBER,COMPLETED, COMPLETED_BY, COMPLETED_DATE, reportable, ROW_NUMBER () OVER (PARTITION BY COMPLETED_BY ORDER BY dbms_random.value) rnfrom (select distinct (id), part_number, lot_number, completed, completed_by, completed_date, reportablefrom table1where completed date BETWEEN TRUNC (SYSDATE, 'IW') -7 AND TRUNC(SYSDATE, 'IW')AND completed = 'Y' and reportable = 'Y')WHERE rn = 1UNION ALLSELECT *FROM (SELECT ID, PART_NUMBER, LOT_NUMBER,COMPLETED, COMPLETED_BY, COMPLETED_DATE, reportable, ROW_NUMBER () OVER (PARTITION BY COMPLETED_BY ORDER BY dbms_random.value) rnfrom (select distinct (id), part_number, lot_number, completed, completed_by, completed_date, reportablefrom table1where completed date BETWEEN TRUNC (SYSDATE, 'IW') -7 AND TRUNC(SYSDATE, 'IW')AND completed = 'Y' and reportable = 'N')WHERE rn = 1