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

codeigniter aktywny rekord pobierz zapytanie i zapytanie bez klauzuli LIMIT

Możesz użyć SQL_CALC_FOUND_ROWS aby uzyskać liczbę wierszy, które zostałyby zwrócone sans-LIMIT . Zwróć uwagę na ,FALSE w wybierz linia. To mówi CodeIgniterowi, aby nie próbował uciec przed SELECT klauzula z backtickami (ponieważ SQL_CALC_FOUND_ROWS nie jest polem, a CodeIgniter nie zdaje sobie z tego sprawy).

$this->db
->select("SQL_CALC_FOUND_ROWS emp", FALSE)
->from('emp')
->join('empr', 'empr.b = empr.id', 'left')
->like('code', $code)
->limit($numrows, $start);

$q = $this->db->get();

Następnie po uruchomieniu tego zapytania musimy uruchomić inne zapytanie, aby uzyskać całkowitą liczbę wierszy.

$query = $this->db->query('SELECT FOUND_ROWS() AS `Count`');
$data["totalres"] = $query->row()->Count;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL CASE do aktualizacji wielu kolumn

  2. czy powinienem ponownie użyć kursora w module MySQLdb w Pythonie?

  3. Sortowanie SQL według pierwszych dwóch znaków pól

  4. mysql konwertuje wiele wierszy na kolumny w jednym wierszu

  5. Czy PHP ma konstrukcję podobną do DataSet .NET?