mysql - 如何正确使用Limit和Offset

标签 mysql

我正在使用查询:

select *
from time
where date = '2018-03-10'
limit 0,5;

Here is image of my data

我希望从第一行返回输出,但它会跳过第一行数据并显示第二行的结果。

我也试试

选择* 从时间 其中日期='2018-03-10' 按日期订购 限制5偏移0;

每次我调用它时,偏移量都会增加 5,但结果会跳过数据...它不显示名称 = sss 和 www 的数据...但显示剩余数据,为什么???

最佳答案

由于没有 order by 子句,因此“第一”行的定义是任意的。

要在使用 limit 时返回可预测的行,您必须通过指定 order by 子句来定义行顺序,例如:

select *
from time
where date = '2018-03-10'
order by id -- specify whatever column(s) define the order
limit 0,5

关于mysql - 如何正确使用Limit和Offset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49210474/

相关文章:

mysql - MariaDB 中是否有等同于 sprintf ('%+03d:00' , $my_number) 的东西?

mysql - 检查是否存在。如果存在则不插入数据,如果不存在则插入数据

php - 尽管一切都正确,但 MySql 查询语法错误

php - 使用 where 子句删除行

mysql - 基于 WHERE 或 JOIN 选择

java - nameParameterjdbcTemplate 给出空指针异常

javascript - 使用 $.ajax 删除帖子

mysql - Mahout 0.7 无法使用 MysqlJdbcDataModel 获得大数据推荐

javascript - Nodejs + SocketIO + MySql 连接未正确关闭并创建数据库开销

php - 具有 mySQL 数据库的多用户 PHP 应用程序 - 不同的用户相同的表?