mysql 取最后一条数据的函数

在MySQL中,要获取表中的最后一条数据,通常会使用ORDER BY子句结合LIMIT子句来实现。但是,如果您的表中没有明确的排序字段,或者想要获取实时的最后一条数据(例如,在插入新数据后),您可以使用LAST_INSERT_ID()函数,这个函数返回最后一个被插入的自增ID值。

如果您的表设置了自增主键,那么在插入新数据后,可以直接使用LAST_INSERT_ID()来获取最新插入行的ID,进而用这个ID查询相应的数据行。

以下是一个简单的例子:

假设您有一个名为users的表,它有一个自增主键字段id。

插入新数据后:

INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');

获取最后一条数据:

SELECT * FROM users WHERE id = LAST_INSERT_ID();

如果您没有使用自增主键,而是想根据插入数据的时间来获取最后一条数据,您可以在插入数据时记录当前时间,然后按照这个时间戳来排序取最后一条:

INSERT INTO users (name, email, inserted_at) VALUES ('Jane Doe', 'jane@example.com', NOW());

SELECT * FROM users ORDER BY inserted_at DESC LIMIT 1;

mysql rownumber取最后一条数据

SELECT *
FROM
  (SELECT *,
          ROW_NUMBER() OVER (
                             ORDER BY hire_date DESC) AS row_num
   FROM employees) t
WHERE row_num =1

https://blog.51cto.com/u_16213331/9389569

posted @ 2024-05-23 14:44  寒冷的雨呢  阅读(147)  评论(0编辑  收藏  举报