mysql 连接日期,其中一个表的日期是一个月前

标签 mysql sql join

我有 2 张 table 想在当天加入。虽然日期格式相同,但我想将 t1.date_1 连接到 t2.date_2,但其中 t2.date_2 是一个月前。请参阅下面的查询以了解上下文和我想要的输出:

t1
date_1      count_t1
2015-01-01   10
2015-02-01   20
2015-03-01   30



t2
date_2      count_t2
2014-12-01   40
2015-01-01   50
2015-02-01   60
2015-03-01   70

output i want:
date_1       percent_before
2015-01-01    0.25            <--10/40
2015-02-01    0.40            <--20/50
2015-03-01    0.5             <--30/60

my query:
select (t1.count_1/t2.count_2) as percent_before
from table1 t1 join table2 t2
on t1.date_1 = (t2.date_2 - 1 month);

最佳答案

您需要interval关键字:

select t1.date_1, (t1.count_1 / t2.count_2) as percent_before
from table1 t1 join
     table2 t2
     on t1.date_1 = (t2.date_2 - interval 1 month);

关于mysql 连接日期,其中一个表的日期是一个月前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31390773/

相关文章:

mySQL - 使用三个表中的数据和列创建新表

php - error_message 变量在表单提交时不显示字符串值

mysql - 如何在 MySQL 中将子查询行的结果显示为一列?

mysql - ColdFusion 8 在没有数据源的情况下访问 MySQL 数据库

php - SELECT * 在列的 MAX 和第二个 MAX id 之间,其中另一列等于某个输入

java - Android Sqlite 仅更新第一行

python - SQL Server 选择特定的 DataFrame 格式

mysql - 使用 Sum 函数连接多个表的 SQL 查询

mysql - 将 NOT IN 转换为 NOT EXISTS

mysql - 如何根据主表的字段值连接到 2 个不同的表?