mysql - MySQL Select Query 用于在两个表中获取特定时间内的数据
问题描述
我在粘贴的屏幕截图中有以下两个表,使用这些表查询对我来说可以获取过去 24 小时的数据,因为这会给我表中的第一个设备。
现在我需要新的查询,即 T1 中的第二个设备也应该出现,因为该设备在 T1 中的创建时间在 T2 插入时间的 24 小时内。
T1 中的第三个设备不应该出现在我的查询结果中,因为它在 T1 中的创建时间比 T2 中的插入时间长 24 小时。
我正在寻找最后两点的查询。
Select a.device,[a.create time], b.device, [b.insert time]
from T1 a, T2 b
where a.device = b.device and a.time >= DATE_SUB(NOW(), INTERVAL 24 HOUR)
解决方案
a.device = b.device
应该是您的加入条件。
Select a.device,[a.create time], b.device, [b.insert time]
from T1 a inner join T2 b on a.device = b.device
where
a.time >= DATE_SUB(NOW(), INTERVAL 24 HOUR) --first condtion
or a.time <= DATE_SUB(b.time, INTERVAL 24 HOUR) --second condition
推荐阅读
- python - PySpark:如何从 pyspark 中的变量创建 JSON 和 CSV 文件?
- performance - 简单的 Flutter 列表视图断断续续的滚动
- javascript - 为什么 setTimeout 有 0 秒最后完成
- javascript - 反应组件不呈现新列表
- javascript - 使用 React 钩子时的 TypeError-useReducer
- plot - 为什么我的 gnuplot 结果(来自 csv 的 png)不是我所期望的?
- javascript - 来自移动浏览器的角度上传图像不起作用
- python - 带有 docker 的烧瓶在除 root 之外的所有路由上返回 404
- javascript - JavaScript 类型编写器效果从 onclick 更改为 onload
- javascript - 如何在文本区域中显示来自服务器的数据