2014-02-09 1 views
0

저는 데이터베이스가 처음이므로 왜 작동하지 않는지 잘 모르겠습니다.제한/오프셋을 사용할 때 mysql 쿼리의 결과가 중복 됨

내 목표는 첫 번째 데이터베이스를 제외한 데이터베이스의 모든 사용자를 확보하는 것입니다. 나는 또한 이것을 정렬 가능하게하고 싶다. 그래서 그것은 ORDER BY를 포함하고있다.

나는 마지막으로 작업 매김을 얻었으나, 쿼리는 다른 페이지에

QUERY를 중복 결과를 반환 - SELECT * users FROM User '1'의 = '1'AND User한다. id> '1'ORDER BY User.active ASC LIMIT 0, 10

나는 이것들을 돌려받습니다. (내가 가진 순서대로 ID가 있습니다) 32,18,19,16,15,14,13,12 ,

11,2 지금 10100에 LIMIT 부분 세트, 나는 32,20,19,2,11,12,13,14,15,15

잘 모르겠어요이 돌아 오기 왜 내가 결과가 겹치는 지. 도움?

감사합니다 :)

+0

이 올려주세요 WHERE

SELECT * FROM 사용자를! – Jain

답변

0

이 시도 : 사용자로 사용자의

SELECT *를 WHERE User.id의 ASC의 LIMIT BY '1'의 = '1'AND User.id> 1 ORDER 0,10

또는 간단한 뭔가 TRY : 어떤 쿼리 경우 users.id> 1 LIMIT 0,10

+0

감사합니다. Jain, 첫 번째 쿼리는 실제로 결과의 중첩을 중지합니다. 테이블의 다른 필드로 주문하면 어떻게됩니까? 내가 처음 주문하는 방법을 찾아야한다고 생각합니다. – user3290473

+0

@above !! Yes 주문은 제한 적용 전에 항상 작동합니다. 그리고 by order by는 당신의 컬럼 값으로 설정할 수 있습니다. – Jain

+0

감사. 그래서 두 개의 간단한 쿼리를 결합하여 작동하는 것처럼 보입니다. SELECT * FROM ( \t SELECT * FROM'사용자'로 '사용자'WHERE '1'= '1'AND'User'.id'> '1'ORDER BY User.active ASC ) AS 아웃터 제한 0, 10 – user3290473