MySQL社区

标题: 这句mysql中为什么limit起不到作用 [打印本页]

作者: 。。[嘟]。。    时间: 2013-3-6 14:20
标题: 这句mysql中为什么limit起不到作用
代码:
...........$select1 = 'select ............
' where houses.display=1 and (houses.houseid in (select houses.houseid from (select innertable.houseid , ABS(latitude - ' . $lat . ') as latval from houses innertable order by latval asc limit 10) limittable) ' .
' or houses.houseid in (select houses.houseid from (select innertable2.houseid , ABS(longitude - ' . $lon . ') as lonval from houses innertable2 order by lonval asc limit 10) limittable2)) ' .
' having distance <= ' . $accurancy .
' order by distance asc ' .
' limit ' . $pagenumber * ($page - 1) . ',' . $pagenumber ;
...................................


主要是limit 10 那里没有起到限制作用,测试了下:limit 100与limit 10 的效果一样的
后面的那句 ' limit ' . $pagenumber * ($page - 1) . ',' . $pagenumber ;就可以起到限制作用
想请教下,哪里出现问题,以致于limit 10没有起到该有的限制作用?

作者: kider    时间: 2013-3-6 17:03
好的SQL绝不这么写,套用的太多,估计limit不出跟这个有关。
作者: 。。[嘟]。。    时间: 2013-3-7 09:50
kider 发表于 2013-3-6 17:03
好的SQL绝不这么写,套用的太多,估计limit不出跟这个有关。

我简化过那句where语句,limit一样是起不到作用(limit是没有放在子查询里面的)





欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2