2011-09-09 8 views
0

SQL_CALC_FOUND_ROWS 및 DISTINCT 옵션을 모두 사용하여 MySQL 쿼리를 생성하려면 어떻게해야합니까?MySQL 다중 선택 옵션

+1

숙제입니까? – Marco

+0

아니요 ... 개인 프로젝트. –

+0

음, 질의에 넣었 니? 나는 그 질문이 무엇인지를 정말로 이해하지 못한다. –

답변

0

SQL_CALC_FOUND_ROWSLIMIT 절과 만 작동하며 FOUND_ROWS() 정보 기능을 사용하여 다른 레코드를 계산할 쿼리를 실행하지 않고 전체 레코드 집합의 행 수를 찾을 수 있습니다. DISTINCTwhere conditions 같은 키워드 이후

SELECT FOUND_ROWS();

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

실제로 SQL_CALC_FOUND_ROWS 기능은 탈락에 beeing 무슨의 개념이 없습니다, 전체 레코드 집합에 영향을 미친다. 내가 아는 한 DISTINCT 키워드에 사용할 수있는 유사한 정보 기능이 없으므로 쿼리를 두 번 실행하는 것 외에 다른 옵션은 없습니다.

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

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


참고 : 당신은 여전히 ​​모두 SQL_CALC_FOUND_ROWSDISTINCT 같은 쿼리에서 사용할 수 있지만 LIMIT 절에 의해 남아있는 것을 FOUND_ROWS(); 만 볼 수 있습니다.