sql - 蜂巢确定具有重叠日期的记录
解决方案
你可以试试exists
:
select t.*
from t
where exists (select 1
from t t2
where t2.transactionId = t.transactionId and
t2.enddate > t.startdate and
t2.startdate < t.enddate and
-- and not the same record
t2.startdate <> t.startdate and
t2.enddate <> t.enddate
);
像这样表达查询怎么样?
select t.*
from t join
t t2
on t2.transactionId = t.transactionId
where t2.enddate > t.startdate and
t2.startdate < t.enddate and
t2.startdate <> t.startdate and
t2.enddate <> t.enddate
(如果你有一个唯一的 id,那么最后两个条件可以用那个代替。)
如果有可能,您可能会想要select distinct
。
推荐阅读
- javascript - 在控制台中显示链滑块值
- python - 使用 Blazingtext 预处理 Sagemaker 推理管道的数据
- python - python matplotlib条形图的xtick标签过于拥挤,如何使xticks稀疏
- reactjs - 如何在创建 react-app 时修复导致问题的纱线
- php - 我的消息输入没有进入数据库
- css - 如何显示活动菜单的类?
- tensorflow - Resnet-50 对抗性训练,cleverhans FGSM 准确率停留在 5%
- c++ - C++ 迭代模板参数
- linux - 如何根据文件的第一个值的条件在 Linux 中对输出文件进行排序?
- python - 在 Django 中用块加载 css