ujn_hao
ujn_hao
2009-10-28 14:09
浏览 217
已采纳

mysql数据库写sql语句可以使用top指令吗?

[size=large]我使用的mysql数据库,写了一个分页查询的sql语句,目的是即使数据库中删除了一条语句也能够让每页显示3条记录,语句如下:
select top 3 * from goods where goodsId not in (select top 3 goodsId from goods);

但是在mysql中无法执行如上语句,请问是不是mysql中不能使用top,有什么办法可以表示如上的语句,谢谢![/size]

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • wanglei1314520
    wanglei1314520 2009-10-28 15:07
    已采纳


    你写的分页sql对SQLServer是个好方法,但是MySQL不支持top关键字
    MySQL有个更好用的关键字limit a,b a是起始索引位置,b是要查询的记录条数
    比如有1、2、3、4、5 五条数据,想要查出2、3、4三条 limit 1,3 起始索引时从0开始的

    你的改成这样就ok了
    select * from goods limit 3,3

    比top好用多了

    点赞 评论
  • weixin_42518765
    weixin_42518765 2009-10-28 14:31

    这么用:
    select * from goods where goodsId not in (select top 3 goodsId from goods) limit 3;

    如果选择第n条 到 n+3条记录
    select * from goods where goodsId not in (select top 3 goodsId from goods) limit n,n+3;

    点赞 评论

相关推荐