2014-02-09 71 views
0

我是新来的数据库,我不知道为什么这不起作用。使用限制/偏移量时mysql查询的重叠结果

我的目标是让数据库中的所有用户除了第一个以外。我也希望这是可排序的,所以它包含ORDER BY。

我终于分页的工作,但该查询在不同的页面返回的重叠导致

查询 - 为User,其中 '1'= '1' AND User SELECT * FROM users。 '1'ORDER BY User.active ASC LIMIT 0,10

我收到这些回复(这里是他们的ID在我得到的顺序) 32,18,19,16,15,14,13,12 ,11,2

现在与限制部分设置为10,100,我得到这些回来 32,20,19,2,11,12,13,14,15,15

我不知道为什么我得到重叠的结果。帮帮我?

谢谢:)

+0

问我,如果任何查询! – Jain

回答

0

试试这个:

SELECT * FROM用户作为用户,其中 '1'= '1' AND User.id> 1 ORDER BY User.id ASC LIMIT 0,10

或尝试一些简单的:

SELECT * FROM用户WHERE users.id> 1 LIMIT 0,10

+0

谢谢Jain,第一个查询确实停止了结果的重叠。我如何通过在表格中的其他字段排序? 我想我必须先找到一种方法,然后采取限制吗? – user3290473

+0

@上面!在应用限制之前,订单总是有效的。顺序可以设置任何列的值。 – Jain

+0

谢谢。所以我组合了两个更简单的查询,它似乎在工作SELECT * FROM( \t SELECT * FROM'users' as'User' WHERE'1'='1'AND'User'.'id'>'1'ORDER BY User.active ASC )AS Outter LIMIT 0,10 – user3290473