MySQL ORDER BY rand(), name ASC
Instead of using a subquery, you could use two separate queries, one to get the number of rows and the other to select the random rows.
SELECT COUNT(id) FROM users; #id is the primary key
Then, get a random twenty rows.
$start_row = mt_rand(0, $total_rows - 20);
The final query:
SELECT * FROM users ORDER BY name ASC LIMIT $start_row, 20;