$ wpdb-> get_col und ORDER BY?

Dies ist die Abfrage, die die Auflistung eines benutzerdefinierten Posttyps zurückgibt

$apartments = $wpdb->get_col( " SELECT DISTINCT( post_id ) FROM $wpdb->postmeta WHERE meta_key IN( $fields_string ) AND post_id IN ( SELECT ID FROM $wpdb->posts WHERE post_type = 'tvr_apartment' AND post_status = 'publish' ) )" ); 

Standardmäßig gibt das die neueste zuerst zurück, ich möchte nach dem Zufallsprinzip sortieren; So versuche ich, aber dann gibt es keine Ergebnisse

 $apartments = $wpdb->get_col( " SELECT DISTINCT( post_id ) FROM $wpdb->postmeta WHERE meta_key IN( $fields_string ) AND post_id IN ( SELECT ID FROM $wpdb->posts WHERE post_type = 'tvr_apartment' AND post_status = 'publish' ) ) ORDER BY $wpdb->postmeta.post_id rand()" ); 

Was mache ich falsch?

Solutions Collecting From Web of "$ wpdb-> get_col und ORDER BY?"

Sie möchten nicht ORDER BY $wpdb->postmeta.post_id rand() . Wenn das Debugging aktiviert war , wurde ein Fehler angezeigt. Sie müssen die ORDER BY Werte durch ein Komma trennen – ORDER BY $wpdb->postmeta.post_id, rand() . In Ihrem Fall wird das nichts bringen, da der erste Wert Vorrang hat, also wird die Abfrage nach der ID sortieren und dann “innerhalb” dieser ersten Ebenenreihenfolge randomisieren … aber in diesem Fall gibt es nicht “innerhalb”.

Verwenden Sie einfach ORDER BY rand()