以下の表から一意の productid wrt sizeid を選択していますが、価格が同じ場合はランダムな行を選択する必要があります。
aff_id,  wl_product_id, wl_size_id,  price
1           40             10        57
3           41             11        65
4           41             11        67
1           41             11        67
価格が同じ場合、以下の結果が期待されます。結果はランダムな aff_id (上記の例では 4 または 1) になります。
 aff_id,  wl_product_id, wl_size_id,  price,   random_number
    1           40         10        57        37.5708656809953
    4(random)   41         11        67        88.2194444427453
以下のクエリ結果は上記と同じです。しかし、一時テーブルを使用しているため、パフォーマンスに関しては良好です。
SELECT * FROM (
   SELECT ap1.aff_id,ap1.wl_product_id,ap1.wl_size_id, ap1.price,(ap1.price*RAND())AS random_number 
   FROM affiliate_product ap1
   INNER JOIN 
   (SELECT wl_product_id, MAX(price) AS price FROM affiliate_product  WHERE wl_product_id>0 GROUP BY wl_product_id,wl_size_id) ap2
   ON (ap1.wl_product_id = ap2.wl_product_id AND ap1.price = ap2.price) ORDER BY wl_product_id,random_number
)AS temp_tbl GROUP BY wl_product_id,wl_size_id