使用mysql获取基于某列的最新插入内容?

时间:2015-12-11 08:08:17

标签: mysql datetime

这是一个mysql表的示例:

    Name | Message     | Time   
    -----+-------------+-------------
    John | Hi          | 12/11 7:00PM 
    John | Bye         | 12/11 7:05PM 
    John | Hello World | 12/11 7:10PM 
    Jane | I'm fine    | 12/11 7:15PM 
    Jane | How are you | 12/11 7:20PM 
    Jane | Hello World | 12/11 7:25PM 
    Bob  | Hi          | 12/11 7:30PM 
    Bob  | I'm fine    | 12/11 7:35PM 
    Bob  | Hello World | 12/11 7:40PM

我的问题是我将使用哪些代码来调用名称列中每个人的最新插入内容?

我正在寻找的例子:

    Name | Message     | Time   
    -----+-------------+-------------
    John | Hello World | 12/11 7:10PM 
    Jane | Hello World | 12/11 7:25PM 
    Bob  | Hello World | 12/11 7:40PM

提前谢谢。

修改

时间列设置为varchar数据类型而不是时间数据类型。

2 个答案:

答案 0 :(得分:2)

原始表和查找每个名称的最大时间的查询之间的简单INNER JOIN应该可以解决问题:

SELECT t1.Name, t1.Message, t1.Time
FROM your_table t1
INNER JOIN
(
    SELECT Name, MAX(Time) AS MaxTime
    FROM your_table
    GROUP BY Name
) t2
ON t1.Name = t2.Name AND t1.Time = t2.MaxTime

答案 1 :(得分:0)

您可以将您的表格与自己的版本一起加入,以获得所需的最长日期:

getElementBy*
相关问题