MySQL-MySQL在没有设置自增ID以及时间相关的字段时怎样查询最新数据呢?

MySQL-MySQL在没有设置自增ID以及时间相关的字段时怎样查询最新数据呢?

偏爱自由 发布于 2016-12-11 字数 490 浏览 1222 回复 2

一般来说,如果有自增ID或时间字段时,我们可以采用order by倒序然后再limit 1来查出最新的数据,但是如果遇到没有设置自增ID以及时间相关的字段的表时,应该怎样查询最新数据呢?

貌似很多人不太理解,我补充一下吧:
假设有数据表A,只有一个字段user_email:
user_email
a@xxx.com
b@xxx.com
c@xxx.com
d@xxx.com
......

这个表每天还在不断的往里添加数据,现在的问题是怎样才能获取最新的一条或几条数据呢?
表结构是否合理这里不讨论。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清晨说ぺ晚安 2017-09-07 2 楼

DELIMITER $$
CREATE PROCEDURE getlast()
BEGIN
DECLARE num INT;
SELECT COUNT(*) as w INTO num FROM tablename;
SET num = num -1;
SELECT * FROM aa LIMIT num,1;
END;
$$

这种东西用一个存储过程吧
call getlast();

浮生未歇 2017-02-23 1 楼

1:把总数查出来 $count 记录
2:select * from 表 limit $count-1,1 取最新的一条记录