Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql Codeigniter Active Record - Jak wykonać zapytanie where_in i zwrócić prawidłową kolejność wyników?

Aby uporządkować wynik według kolejności w tablicy, możesz wykonać następujące czynności:

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

Jak już znasz kolejność liczb, możesz użyć Mysql FIELD() funkcja:

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

Aby utworzyć taki ciąg, możesz użyć implode :

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

Spróbuj:

$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. WSTAW bieżącą datę lub godzinę do MySQL

  2. Konwertuj plik fbk (firebird) na MySql

  3. Paginacja za pomocą MySQL LIMIT, OFFSET

  4. Jak mogę zapytać w mysql-table (gdzie jest przechowywana długość i długość), która lokalizacja jest najbliższa wprowadzonej lokalizacji (długość i długość)?

  5. Wykonaj polecenie mysql przed testem skryptu na GitLab CI