turbod was dichtbij met zijn antwoord, hij bestelde gewoon willekeurig, terwijl het lijkt alsof je per pid wilde bestellen, nadat je de willekeurige rijen had gekregen die je wilde in combinatie met die met betrekking tot A2 en 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`