turbod był blisko swojej odpowiedzi, po prostu zamawiał losowo, kiedy wydaje się, że chciałeś zamówić według pid, po otrzymaniu losowych wierszy, które chciałeś w połączeniu z tymi dotyczącymi A2 i 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`