【发布时间】:2019-12-20 04:25:03
【问题描述】:
我有来自 3 个不同数据库的 3 个表,我在这些表上应用了内部联接来获取数据。 假设我有 db1.tab1、db2.tab2、db3.tab3。所以我的查询是:
select a.tran_cap_dt_tm, b.lang, c.email
from db1.tab1 a
inner join db2.tab2 on a.id = b.id
inner join db3.tab3 on b.id = c.id;
这给了我这个:
tran_captr_dt_tm lang email
2019-07-01T10:26:13.000+0800 en_us test@test.commm
2019-07-10T10:26:13.000+0800 en_us test@test.commm
2019-07-22T10:26:13.000+0800 en_us test@test.commm
2019-07-01T10:26:13.000+0800 en_us tgarden@gmail.com
2019-07-10T10:26:13.000+0800 en_us tgarden@gmail.com
2019-07-24T10:26:13.000+0800 en_us tgarden@gmail.com
2019-07-01T10:26:13.000+0800 en_us jkrl@gmail.com
2019-07-10T10:26:13.000+0800 en_us jkrl@gmail.com
2019-07-27T10:26:13.000+0800 en_us jkrl@gmail.com
但这并不完全是我想要的。我需要的是计算第一笔交易和最后一笔交易之间的持续时间(以天为单位)。像这样的:
duration_in_days lang email
22 en_us test@test.commm
24 en_us tgarden@gmail.com
27 en_us jkrl@gmail.com
我正在使用 mysql 5.7
【问题讨论】:
-
test@test.commm的 duration_in_days 为 22。专业提示:不要将数据发布为人们不会回复或忽略的图像。将其设为格式化文本。 -
已修改。请帮忙。
-
您需要差值还是最大值?如果存在差异,则所有输出值将减少 1 天,例如
21,23,26。如果需要,您可以尝试 @mansi 查询并稍作改动。