Sql选择具有特定WHERE的最后一条记录

时间:2016-04-13 18:48:11

标签: mysql sql

我有表login

ID - DATE - USER_ID
1 - 13.4.2016 20:00 - 1
2 - 13.4.2016 20:10 - 1
3 - 13.4.2016 20:20 - 1
4 - 13.4.2016 20:30 - 1
5 - 13.4.2016 21:00 - 2

如何选择user_id的最后一行(上次用户登录:-))?

输出: 4 - 13.4.2016 20:30 - 1

我的尝试不起作用:

SELECT * FROM login ORDER BY ID DESC WHERE USER_ID = 1

但我得到sql语法错误,我不知道为什么,你能帮帮我吗?

感谢您的回复。

2 个答案:

答案 0 :(得分:3)

ORDER BY日期字段DESCENDING并且只保留与LIMIT 1一起返回的第一行

SELECT *
FROM login
WHERE user_id=1
ORDER BY date DESC
LIMIT 1

您的查询中出现语法错误,因为您的WHERE子句后面有ORDER子句

答案 1 :(得分:-1)

尝试以下查询:

按日期desc

选择TOP TOP 1 * FROM登记订单

输出:4 - 13.4.2016 20:30 - 1