This is extremely challenging thing to do.
This is what I suggest:
Add field P2013 and populate it like that, using 3 classes of areas:

Important is proportion of polygons count in each class, it should be 4:6:10, i.e. exactly as shown on artificial dataset in the picture above. If this is not the case you need to weed some polygons on the edges. So compute total of P2013 (P) and do modulo division:
P % 1064
The answer is to be converted to number in each class subject for removal. For example if it is 35, you need to remove 5 from first class and 3 from second, or, perhaps 35 from 1st class. Number of 1064 came from:
4*1+6*10+10*100
I applied method described here to split 200 polygons into 10 groups. Results:

As one can see I've managed to locate only 2 groups, that are exact match to the criteria:

Method does not guarantee that you find ideal candidates (depending on a spatial mixture of your classes), but at least it will give you few, that are very close to it, similar to what table shows.
IN
on subquery of IDs in a lookup table. And third is a Query Definition with a simpleIN
list of IDs. The table should be indexed on the query term.