我创建了一个表,即 table_1
,它有不同的字段。我想编写一个查询
以根据时间
使用issue_priority
从列part_name1
中获取最新记录。 part_name1
列可能包含具有不同优先级的相同记录,例如 p1
、p2
或 p3
。在这里,我获取的记录数量较少,但如果我有 n 条记录,如何在插入的记录中获取最新的记录。
这里只是举个例子。请查看给定的图片链接
**part_name1** **issue_priority** **time1**
blower p1 03:15:00
reverse p2 03:16:18
blower p2 04:11:30
reverse p3 04:44:05
输出:从上表我希望输出如下所示
blower p2
reverse p3
最佳答案
首先需要查询每个part_name1的最晚时间。这为您提供了最大时间值。
SELECT part_name1, max(time1) as maxtime1
FROM table_1
GROUP BY part_name1;
如果您还需要表中的其他数据(例如 issue_priority),您应该使用上面的作为子查询:
SELECT t1.*
FROM table_1 t1
JOIN (
SELECT part_name1, max(time1) as maxtime1
FROM table_1
GROUP BY part_name1 ) s1
ON (t1.part_name1 = s1.part_name1 AND t1.time1 = s1.maxtime1);
这将为您返回每个 part_name1 的最新行。如果需要,您可以添加更多的 LIMIT
子句。
关于mysql - 如何编写查询以从数据库表中获取最近的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55918505/