sql >> Databasteknik >  >> RDS >> Mysql

codeigniter active record get query och query utan LIMIT-satsen

Du kan använda SQL_CALC_FOUND_ROWS för att få antalet rader som skulle ha returnerats sans-LIMIT . Notera ,FALSE i select linje. Detta säger åt CodeIgniter att inte försöka undkomma SELECT sats med backticks (eftersom SQL_CALC_FOUND_ROWS är inte ett fält, och CodeIgniter inser inte det).

$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();

Sedan efter att frågan har körts måste vi köra en annan fråga för att få det totala antalet rader.

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


  1. SQL Server ALL Operatör förklaras

  2. PHP MYSQL PDO SUMMA av kolumner

  3. Tips för att leverera MySQL-databasprestanda - del ett

  4. Returnera månadens början i SQLite