LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1784|回复: 3

mysql limit 问题

[复制链接]
发表于 2007-8-15 22:12:12 | 显示全部楼层 |阅读模式
请问,在不用order by DESC的情况下,limit可以倒着取结果吗?
比如说,是否支持这样的形式limit(-1, 10)

谢谢
发表于 2007-9-21 12:40:47 | 显示全部楼层
ms不可以;

直接写在select里是必须要正数的,手册里有说明,若出现负数则直接提示语法错误;

在prepare statement的语法中,允许定义负数,但返回结果为空。

eg:

mysql>select * from EMP limit -1,5;
ERROR 1064 (42000): 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,5' at line 1

mysql>set @a=-1; set @b=5;
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql> prepare stmt from 'select * from EMP limit ?,?';
Query OK, 0 rows affected (0.01 sec)
Statement prepared

mysql> execute stmt using @a,@b;
Empty set (0.00 sec)

mysql>
回复 支持 反对

使用道具 举报

发表于 2007-9-27 16:50:39 | 显示全部楼层
排序是不可避免的,不想写 ORDER BY foo DESC 有什么理由吗?
回复 支持 反对

使用道具 举报

发表于 2007-10-3 02:00:32 | 显示全部楼层
如果不关心顺序要取结尾记录的话得先select count出记录数量,然后用limit和offset。不过mysql的count可能不准,特别在频繁插入的情况下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表