This question already has answers here:
MySQL groupwise MAX() returns unexpected results
(3个答案)
三年前关闭。
这是一个mysql表的示例:
我的问题是,我将使用什么代码来调用name列中每个人的最新插入?
我要找的例子:
提前谢谢你。
编辑
时间列被设置为varchar数据类型而不是时间数据类型。
(3个答案)
三年前关闭。
这是一个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列中每个人的最新插入?
我要找的例子:
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数据类型而不是时间数据类型。
最佳答案
在原始表和查找每个名称的最大次数的查询之间使用一个简单的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