hello10
hello10
2012-11-07 15:20

求助mysql查询条件中有日期limit问题

已采纳

当mysql查询条件中有日期比较后,再limit限制后,返回结果有问题

 

 select createTime,a,b from Table where createTime < date(DATE_FORMAT('2012-11-04 10:31:20.78','%Y-%m-%d %k.%i.%s') )  order by createTime  desc   limit 2, 2 

 这个sql返回一条记录

去掉limit

 

select createTime,a,b from Table where createTime < date(DATE_FORMAT('2012-11-04 10:31:20.78','%Y-%m-%d %k.%i.%s') ) order by createTime desc

 

 返回两条记录。

再上limit,去掉where条件中是日期比较

select createTime,a,b from Table order by createTime  desc   limit 2, 2 

 这个结果返回两条记录。

 

 

有没有谁也遇到 过这种问题,在线急等。

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_1017875360_qq qq_1017875360_qq 9年前

    楼主按你的sql执行效果来说,如果不加limit查询结果是两条记录,而去掉条件加上limit则返回两条数据。说明Table的数据是大于两条的,而最多能返回的是两条符合要求的记录,而你的limit 是 “limit 2, 2 ”意思是,从满足要求的集合中第二条记录开始,取2条记录,但是满足要求的只有两条,那就能会显示1条记录,而且显示的是第二条记录。楼主你似乎没太弄懂limit的用法。
    语法:
    LIMIT子句可以被用来限制SELECT语句返回的行数。LIMIT取1个或2个数字参数,如果给定2个参数,第一个指定要返回的第一行的偏移量,第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。
    所以按你的要求应该是 limit 0, 2,从下标为0的记录开始,取2条记录.

    点赞 评论 复制链接分享
  • iteye_4811 iteye_4811 9年前

    limit 2,2 表示从第二条记录开始再区两条

    http://database.51cto.com/art/201005/200401.htm

    点赞 评论 复制链接分享

相关推荐