Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Catatan Aktif Mysql Codeigniter - Bagaimana cara melakukan kueri where_in dan mengembalikan urutan hasil yang benar?

Untuk mengurutkan hasil dengan urutan dalam array Anda, Anda dapat melakukan hal berikut:

$array_of_ordered_ids = array(4,5,2,6);

Karena Anda sudah mengetahui urutan nomornya, Anda dapat menggunakan Mysql FIELD() fungsi:

ORDER BY FIELD(id, 4, 5, 2, 6);

Untuk membuat string seperti itu, Anda dapat menggunakan implode :

$order = sprintf('FIELD(id, %s)', implode(', ', $array_of_ordered_ids));

Cobalah:

$array_of_ordered_ids = array(4,5,2,6);
$this->db->where_in('id', $array_of_ordered_ids);
$order = sprintf('FIELD(id, %s)', implode(', ', $array_of_ordered_ids));
$this->db->order_by($order); 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bahasa Kueri Neo4j - Cypher

  2. MySQL Inner Join Query Beberapa Tabel

  3. Panggil ke fungsi anggota execute() pada boolean di

  4. Kesalahan MySQL 2006 (HY000) pada baris 406:Server MySQL telah hilang

  5. Cara Memantau Beberapa Instance MySQL yang Berjalan di Mesin yang Sama - Tips &Trik ClusterControl