sql >> Database teknologi >  >> RDS >> Mysql

codeigniter active record få forespørgsel og forespørgsel uden LIMIT-klausulen

Du kan bruge SQL_CALC_FOUND_ROWS for at få antallet af rækker, der ville være blevet returneret sans-LIMIT . Bemærk ,FALSE i vælg linje. Dette fortæller CodeIgniter ikke at forsøge at undslippe SELECT klausul med backticks (fordi SQL_CALC_FOUND_ROWS er ikke et felt, og CodeIgniter er ikke klar over 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();

Så efter at forespørgslen er kørt, skal vi køre endnu en forespørgsel for at få det samlede antal rækker.

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


  1. Hvorfor er der behov for UDFØR STRAKS her?

  2. MySQL - hvordan gemmer man tid med korrekt tidszone? (fra Java)

  3. WHERE-sætning på SQL Server Tekstdatatype

  4. Vores mest populære database blogindlæg i 2017