Devo mostrare un risultato random da una query, secondo voi è meglio usare order by RAND() oppure fare una doppia query tipo questa:

Codice PHP:
$count $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts
    LEFT JOIN 
$wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id)
    WHERE 
$wpdb->post2cat.category_id=6
    AND 
$wpdb->posts.post_status = 'publish'");

$rand_num rand(0$count-1);

$querystr "
    SELECT 
$wpdb->posts.*
    FROM 
$wpdb->posts
    LEFT JOIN 
$wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id)
    WHERE 
$wpdb->post2cat.category_id=6
    AND 
$wpdb->posts.post_status = 'publish'
    LIMIT 
$rand_num, 1