如何从MySql中的表中删除最后一条记录(有条件)

Awa*_*wan 12 mysql sql

我有一个像这样的LoginTime表:

id | user_id | datetime
1  |   1     | 2011-01-17 18:51:05
2  |   1     | 2011-01-18 18:51:05  
3  |   1     | 2011-01-19 18:51:05  
4  |   2     | 2011-01-19 18:51:05  
Run Code Online (Sandbox Code Playgroud)

我想删除最后一条记录user_id=1.可以识别用户的最后记录datetime.

如何使用一个查询执行此操作.

Iva*_*van 27

您需要通过user_id过滤表(例如WHERE user_id = 1),然后按时间排序(例如ORDER BY datetime),然后将查询限制为仅一个项目(例如LIMIT 1),并删除此查询的结果.最后你会得到这样的查询:

DELETE FROM LoginTime WHERE user_id=1 ORDER BY datetime DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)