我需要根据几个条件从数据库中选择最后插入的行。以下是数据示例。

TIMESTAMP   CHANNEL LANGUAGE    FORECAST
1   CALL    DUTCH   10
1   EMAIL   DUTCH   20
4   CALL    DUTCH   10
2   EMAIL   DUTCH   20
4   CALL    DUTCH   10
3   CALL    SPANISH 20
3   EMAIL   SPANISH 10
4   CALL    DUTCH   10


每次添加记录时都会插入一个时间戳,但是,由于可以在同一时间戳中插入许多记录,因此会有更多具有相同时间戳的记录。

我需要检索具有最新时间戳的所有记录。因此,在此示例中,结果应为:

TIMESTAMP   CHANNEL LANGUAGE    FORECAST
4   CALL    DUTCH   10
4   CALL    DUTCH   10
4   CALL    DUTCH   10


我尝试使用max(timestamp)语句,但也以“较早的”时间戳结尾。

我认为这应该很容易吗?

最佳答案

你要

SELECT *
FROM MyTable
WHERE TIMESTAMP =
(
  SELECT MAX(m.TIMESTAMP)
  FROM MyTable m
)


子查询中不需要ORDER BY,因为无论如何它只返回一个结果。

关于mysql - 如何获取每个条件的最后插入的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25427424/

10-09 08:51