如何从插入的最后一条记录中获取最后一小时的记录

时间:2021-02-12 15:48:26

标签: mysql sql

我有会话表包含这些记录:

+---------+----------------+-----------+------------------------+ 
|   id    |    session     |    ip     |        login_time      |
+---------+----------------+-----------+------------------------+
|    1    |   fjdjetje5e   | 127.0.0.1 |   2021-01-24 10:02:06  |
|    2    |   rgrdd        | 127.0.0.1 |   2021-01-24 10:10:01  |
|    3    |   hèyth        | 127.0.0.1 |   2021-01-24 10:04:00  |
|    4    |   rwytw4364    | 127.0.0.1 |   2021-01-24 16:08:59  |
|    5    |   iliiu        | 127.0.0.1 |   2021-01-24 16:03:56  |
|    6    |   reuretyre    | 127.0.0.1 |   2021-01-24 16:06:53  |
|    7    |   rthrtrt      | 127.0.0.1 |   2021-01-24 16:05:51  |
|    8    |   66735        | 127.0.0.1 |   2021-01-24 17:09:49  |
|    9    |   ooluh        | 127.0.0.1 |   2021-01-24 18:07:46  |
|    10   |   sdxxs        | 127.0.0.1 |   2021-01-24 18:11:43  |
+---------+----------------+-----------+------------------------+

我想从最后插入的记录中获取 1 小时内的所有记录:

//this what i expected
|    9    |   ooluh        | 127.0.0.1 |   2021-01-24 18:07:46  |
|    10   |   sdxxs        | 127.0.0.1 |   2021-01-24 18:11:43  |

这是我尝试的

SELECT *
FROM session
WHERE login_time >= DATE_SUB(now(),INTERVAL 1 HOUR)

它仅在我的电脑时间大约为 2021-01-24 18:11:43

时有效

1 个答案:

答案 0 :(得分:0)

SELECT *
FROM session
WHERE login_time >= (select DATE_SUB(max(login_time),INTERVAL 1 HOUR) from session);

你可以使用上面类似的东西。

相关问题