私は単純なMySQLクエリを実行して、LIMIT
句の効果なしにクエリが返す行の数を数えます。私はCodeigniter PHPフレームワークでアクティブレコードを使用しています。SQL_CALC_FOUND_ROWS()を使用しているときのエラー
問題:SQL_CALC_FOUND_ROWS
を使用するとエラーが発生します。なぜこれはそうですか?
クエリ
SELECT `listing_id`, SQL_CALC_FOUND_ROWS listing_id FROM (`listings`) LIMIT 100
エラー
あなたのSQL構文でエラーが発生しています。右の構文は ラインで1つの
CodeIgniterのアクティブレコード
$this->db->select('listing_id')
->select('SQL_CALC_FOUND_ROWS listing_id', FALSE)
->from('listings')
->where('price < 1000')
->limit($limit, $offset)
->order_by('listing_id', 'desc');
+1私に何か新しいことを教えてください:) –
これはGROUP BY文も必要としませんか? – stef
これは、SQL_CALC_FOUND_ROWSがLIMITを無視するため、異なる結果を生じることがあります。 – Goose