【发布时间】:2020-09-09 09:48:16
【问题描述】:
我的任务有问题,看起来我有一个表 Warehouse,其中包含公司库存物品的清单。这 表包含列 ItemID、ItemTypeID、InTime 和 OutTime,其中 InTime (OutTime) 指定相应项目进入(离开)仓库的时间点。我必须计算公司没有物品进出仓库的最长时间。我正在尝试以这种方式解决它:
select MAX(OutTime-InTime) from Warehouse where OutTime is not null
我的理解正确吗?因为我相信它不是;)
【问题讨论】:
-
我觉得你的理解有误;你想要的是组合和排序的
OutTime和InTime的组合列表,然后选择相邻对之间的最大差异。我不知道如何用 SQL 来表达,但是...... -
(1) 请用您正在运行的数据库标记您的问题:mysq、oracle、sql-server... (2) 示例数据和所需结果将有助于澄清您的问题
-
这可以是我喜欢的 SQL,假设是 Oracle。问题是我没有样本数据,我必须在没有任何数据的情况下考虑查询来解决它。
-
“公司在没有物品进出仓库的情况下最长的时间”到底是什么意思?这是按项目的意思还是一般的意思? IE。这是在寻找类似“有一段时间没有物品进出 100 天”或类似“有一段时间某个特定物品在 100 天内没有移动(而其他物品当时确实有移动)之类的东西” “?
标签: oracle datetime window-functions unpivot gaps-and-islands