当结果仅保留属性有效的开始日期时,如何在两个日期之间进行MySQL查询?

里凯德基奈

我有一个具有以下结构的简单示例表:

PK_ID | PK_VALID_FROM_DATE | VALUE
------+--------------------+------
1     | "1980-01-01"       | 42
1     | "1999-06-06"       | 103
2     | "2011-12-12"       | 92
1     | "2014-04-04"       | 512

该表是通过在值的每个日期添加一行来创建的。

还是有更好的方法来创建值更改后的日期历史记录并进行查找?

现在,我要查询以找出哪个VALUE日期在特定日期对特定日期有效PK_ID

用法示例:

这是VALUE什么PK_ID=1用的2010-05-22

人们很容易看到,从1999-06-062014-04-03VALUE=103PK_ID=1,但是如何查询2010-05-22

飞溅58

如果我理解正确的话。首先在需要的日期之前找到最大日期。然后在那个日期取值

drop table if exists t1; 
create table t1 (PK_ID int, PK_VALID_FROM_DATE date, VALUE int);
insert into t1 values
(1,"1980-01-01",  42),
(1, "1999-06-06", 103),
(2, "2011-12-12", 92),
(1, "2014-04-04", 512);

select value 
  from t1 
  where PK_ID=1
    and PK_VALID_FROM_DATE = 
        (select max(PK_VALID_FROM_DATE) 
           from t1 
             where PK_ID=1
               and PK_VALID_FROM_DATE<= DATE("1999-06-06"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中查找两个日期之间的所有有效日期

找到两个标签之间的有效日期

按财政季度对R中两个日期之间有效的记录进行计数

在两个日期(包括开始日期)之间进行迭代?

如何在 postgres sql 查询中仅计算两个日期之间的天数。

如何在graphql中的两个日期之间查询

如何使用MySQL在两个日期之间查询?

仅工作日在两个日期和两次之间进行SQL查询

查找两个日期之间有保险的员工的更有效方法

如何在两个现有日期 django 之间进行过滤

如果所选日期在两个日期之间,如何从查询中获取结果?

如何在mysql中的2个日期之间进行查询?

如何使用python查找两个日期之间的日期(开始日期和结束日期除外)

如何在Excel中的两个给定日期之间每2小时列出所有日期

在两个日期之间进行搜索时,如何从表中排除日期?

两个日期之间的开始日期和结束日期

Oracle SQL - 有效地查找两个日期之间的最后一个日期有效更改

如何在两个日期之间填写日期

如何在两个日期之间显示日期

如何生成两个日期之间的所有日期

如何获取两个日期之间的所有日期?

如何使用lodash有效合并两个日期对象数组

如何有效查询MySQL中特定日期范围之间的行?

如何在一列MYSQL中将两个过去的日期之间的日期分组

MySQL查询-无需检索行即可在两个日期之间进行检查

MySQL检索没有时间因素的两个日期之间的结果不会输出确切日期的结果

如何在表格中显示多个两个日期之间的所有日期?

查询以在没有年份的两个日期之间进行选择

MySQL查询返回两个日期范围之间的行