2011-09-09 21 views
0

SQL_CALC_FOUND_ROWSオプションとDISTINCTオプションの両方を使用してMySQLクエリを作成するにはどうすればよいですか?MySQL複数選択オプション

+1

これはあなたの宿題ですか? – Marco

+0

いいえ...個人的なプロジェクトです。 –

+0

ええ、あなたはそれらをクエリに入れますか?私はその質問が何であるか本当に理解していないのですか? –

答えて

0

SQL_CALC_FOUND_ROWSは、LIMIT句でのみ機能し、情報機能FOUND_ROWS()を使用して、レコードをカウントする別のクエリを実行せずにフルレコードセットの行数を検索することができます。

DISTINCTようなキーワード以来

SELECT SQL_CALC_FOUND_ROWS * FROM ... WHERE ... LIMIT X;

SELECT FOUND_ROWS();

、およびwhere conditionsが実際に完全なレコードセットに影響を与え、SQL_CALC_FOUND_ROWS機能が取り残さbeeingているものの概念がありません。私が知る限り、DISTINCTキーワードで利用可能な同様の情報関数は存在せず、クエリを2回実行する以外のオプションはありません。

SELECT DISTINCT * FROM ... WHERE ...;

SELECT COUNT(*) FROM ... WHERE ...;


注:あなたはまだ両方SQL_CALC_FOUND_ROWSDISTINCT同じクエリで使用することができますが、LIMIT句によって取り残さ何FOUND_ROWS();のみが表示されます。

関連する問題