turbod était proche de sa réponse, il commandait juste au hasard, quand il semble que vous vouliez commander par pid, après avoir obtenu les lignes aléatoires que vous vouliez en conjonction avec celles concernant A2 et 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`