turbod var tæt på sit svar, han bestilte bare tilfældigt, da det ser ud til at du ville bestille efter pid, efter at have fået de tilfældige rækker du ønskede i forbindelse med dem vedrørende A2 og 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`