sql >> データベース >  >> RDS >> Mysql

codeigniterアクティブレコードはクエリを取得し、LIMIT句なしでクエリを実行します

    SQL_CALC_FOUND_ROWS 返されたはずの行数を取得するには-LIMIT、FALSEに注意してください selectで ライン。これは、CodeIgniterに SELECTをエスケープしようとしないように指示します バッククォート付きの句( SQL_CALC_FOUND_ROWS のため) はフィールドではなく、CodeIgniterはそれを認識していません。

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

    次に、そのクエリを実行した後、別のクエリを実行して行の総数を取得する必要があります。

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


    1. MySql5.7インストーラーがVS2013再配布可能ファイルの検出に失敗する

    2. mySQL-3つのテーブルのデータと列を使用して新しいテーブルを作成する

    3. SQL Serverの既存のテーブルに主キーを追加する方法(T-SQLの例)

    4. SSISを使用してETLパフォーマンスを改善するためのトップ10の方法