mysql - 获取文件中的最后一条记录

标签 mysql sql

我有一个表(设计得相当丑陋,但无论如何),它只包含字符串。最糟糕的是,有一个脚本会一次一次地添加记录。记录永远不会被删除。

我相信,MySQL 将记录存储在一个随机访问文件中,我可以使用 C 语言或其他语言获取最后一条或任何其他记录,因为我知道记录的最大长度并且我可以找到 EOF。

当我在 MySQL 中执行类似“SELECT * FROM table”的操作时,我会以正确的顺序获取所有记录 - 因为 MySQL 从头到尾读取该文件。我只需要最后一个。

有没有办法只使用 MySQL 查询来获取最后一条记录(或多条记录),而无需 ORDER BY


好吧,我想我已经找到了解决方案 here , 所以我当前的查询是

SELECT 
   @i:=@i+1 AS iterator, 
   t.* 
FROM 
   table t,
   (SELECT @i:=0) i 
ORDER BY 
     iterator DESC
LIMIT 5

如果有更好的解决方案,请告诉我!

最佳答案

除非您使用 ORDER BY,否则无法保证顺序。您取回的记录恰好按照需要的方式进行了排序。

关于mysql - 获取文件中的最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16920740/

相关文章:

mysql - 在同一列中进行多次搜索 MySQL Sequelize,

PHP:PDO rowCount() 有时会返回 0?

php mysql 循环内存泄漏?

java - Android 应用程序与 Derby 中的远程数据库的连接

mysql - 用于选择具有重复值的列的查询

php - 只获取倒数第二条记录 - mysql-query

mysql - Doctrine 模式更新总是尝试添加 NOT NULL

PHP 显示/隐藏链接

sql - Big Query "Quota exceeded"用于 Github 推送事件数据集的 SQL

sql - PostgreSQL - 从 2 列中选择具有复合最大值的行