turbod беше близо до отговора си, той просто поръчваше на случаен принцип, когато изглежда, че сте искали да поръчате по pid, след като сте получили произволните редове, които искате, във връзка с тези, отнасящи се до A2 и A3:
(
SELECT *
FROM `mytable`
WHERE
name ='A2' OR
name ='A3'
LIMIT 2
)
UNION
(
SELECT DISTINCT *
FROM `mytable`
WHERE
name !='A2' OR
name !='A3'
ORDER BY RAND( ) LIMIT 2
)
ORDER BY `pid`