需求:查询第5行之后所有数据
网上查询结果:LIMIT 5,-1
实际报错:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 5
请问各位这是为何?我该如何实现这个需求?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
语法错误,limit[m,]n 语法是这样的,m:为起始行,从0开始,且可以省略不写,n:为查询记录数,不能为负数,你可以查询id>你要排除的5个id的最大值或者id<你要排除的5个id的最小值
回复<aclass='referer'target='_blank'>@iSea:非常感谢,感谢给了我一个思路回复<aclass='referer'target='_blank'>@iSea:如果数据很大,肯定会有些影响的,这样写不知道能否符合你的需求:SELECTSUM(PROLIKE)FROMPRODUCTSWHEREBUSINESSID=3andPROLIKE<(SELECTPROLIKEFROMPRODUCTSORDERBYPROLIKEDESCLIMIT4,1)ORDERBYPROLIKEDESC回复<aclass='referer'target='_blank'>@iSea:原来没有这个语法了,如果这个n数字太大会不会对性能有影响回复<aclass='referer'target='_blank'>@wang_liran:如果仅仅是求和的话,你可以把-1改为比你的数据足够大的数,回复<aclass='referer'target='_blank'>@wang_liran:5.0之后的版本没有这个语法了。贴上完整的SQL
SELECTSUM(PROLIKE)FROMPRODUCTSWHEREBUSINESSID=3ORDERBYPROLIKEDESCLIMIT5,-1感觉楼主是写php写多了...你的问题可以通过存储过程来实现,具体参考这个http://zhidao.baidu.com/link?url=ts4ZmzQXQQMi0Uj6wcmMwBMWOGNEjCE7I75L8lR9t-MSYWuoasqcEthAka2rUpDlXQviYAeuFwTcYnqPKoCIXq这个思路我想过,可是太麻烦了,我想知道为什么官方要取消这个语法?没有负数的。。
limitM,N
意思是偏移为M,再取N条记录。
limit0,2 从第1条记录开始取2条
所以你的需求实质上是limit4,1