我有一个表,我必须根据每个检查点的日期和时间列从该表中选择最新的行
我尝试了以下查询,但没有返回每个检查点的最新数据。
SELECT checkpost_id,current_rate,date,time FROM revisionrates
WHERE date IN (SELECT max(date) FROM revisionrates GROUP BY checkpost_id)
预期输出为
您可以使用窗口函数:
select rr.*
from (select rr.*,
row_number() over (partition by checkpost_id order by date desc, time desc) as seqnum
from revisionrates rr
) rr
where seqnum = 1;
这需要MySQL8.0。在MySQL的早期版本中,这有点棘手,但有一种方法使用元组
select rr.*
from rr
where (date, time) in (select rr2.date, rr2.time
from revisionrates rr2
where rr2.checkpoint_id = rr.checkpoint_id
order by rr2.date desc, rr2.time desc
limit 1
);
问题内容: 我有一张桌子,如下所示: 请注意,MyDate格式为YYMMDD,而MyTime为24小时格式。 我想用最新的MyDate和MyTime返回唯一的MyKey的结果。预期的结果将是这样的: 任何帮助都感激不尽。谢谢。 问题答案: 首先,将日期和时间列合并为日期时间,以便轻松订购它们。自从我使用Sql Server以来已经有一段时间了,但是row_number()函数和分区是一种查找由另一
问题内容: 这是我的表结构- 我想清楚地选择所有的数据(以及日期)。由于日期在两个相同的条目之间会有所不同,因此我想选择日期最近的行。我希望得到这样的结果- 我不想要这个- 我正在使用此查询- 但是它只能挑一排。我该如何纠正? 问题答案: 试试这个查询 如果只想使用此查询: SQL字段 如果要查找所有用户的最新日期,请使用此查询 在此查询中,还将包含的数据
问题内容: 我将对各种rpc调用的响应存储在具有以下字段的mysql表中: 为和的所有现有组合选择最新响应的最佳方法是什么? 对于每个日期,对于给定的方法/ ID,只能有一个响应。 并非所有呼叫组合在给定日期都必须存在。 有数十种方法,数千个ID和至少365个不同的日期 样本数据: 所需结果: (我不认为这是同一个问题-它不会给我最新的信息) 问题答案: 自我回答,但是随着表的增长,我不确定这是否
问题内容: 我有以下表格/列: 有一对多的关系 有一对多的关系 对于每个,我都需要获取最新的价值。如何使用SQL执行此操作。我已经尝试使用,但我似乎无法弄清楚如何参与和成功。 理想结果集将包含与最新记录的所有列结合的所有。 注意:使用 MS SQL 2005+ 问题答案: 看看使用ROW_NUMBER 就像是
我想禁用日期时间选择器中的时间选择器。我正在使用一些参数,如picTime: false和form:"dd MM yyyy"。但是没有用...我正在使用http://eonasdan.github.io/bootstrap-datetimepicker/ Plzz给出解决方案
问题内容: 我有一个类型为“ datetime”的列,其值类似于2009-10-20 10:00:00 我想从datetime提取日期并编写类似的查询: 以下是最好的方法吗? 但是,这将返回一个空的结果集。有什么建议么? 问题答案: 您可以使用MySQL的功能: 您也可以尝试以下方法: 有关使用的性能影响的信息,请参见此答案。
问题内容: 我在这里看到了类似的问题,但是没有一个问题帮助我解决了这个问题。 我有一个表可以说测试(使用mysql MyISAM) 测试具有以下架构: 现在,当前登录的用户每次访问测试页时,都会向该表添加记录,以记录访问过的用户ID,并且每次使用TID自动访问的用户访问的一些数据以及日期和时间。 然后我有一个后端管理页面,在这里我可以看到哪个用户访问了测试页面,多少次,数据以及何时。基本上,它是一
问题内容: 我在SO上看到过类似类型的问题,但是,我无法找到针对我特定问题的解决方案。(仅供参考,这些不是我的真实专栏,只是一个简短的示例)。 我有一个基本表: 因此,我想做的是能够: 我已经尝试过类似的东西: 但这不会返回我要查找的行。修复此查询的任何帮助都将非常有用。 非常感谢。 问题答案: 编辑: 顺便说一句,如果您想知道为什么原来的查询不起作用,让我们分解一下: 从…中选择一些东西 其中=