SQL自连接查询:找出Occurrence序列不匹配的Schedule
解决方案
要筛选出同一Schedule下存在不同Occurrence值的编号,核心思路是统计每个Schedule对应的Occurrence去重后的数量,只要数量大于1,就说明该Schedule下有不匹配的Occurrence值。
通用SQL实现(适配多数数据库)
SELECT Schedule FROM your_table_name GROUP BY Schedule HAVING COUNT(DISTINCT Occurrence) > 1;
逻辑说明
GROUP BY Schedule:将同一Schedule编号的所有行归为一组COUNT(DISTINCT Occurrence):统计每组内不重复的Occurrence值数量HAVING COUNT(...) > 1:仅保留存在至少两种不同Occurrence值的Schedule分组
示例验证
对应你给出的场景:
- Schedule 171344:Occurrence有90、180,去重后数量为2 → 会被筛选
- Schedule 171466:Occurrence有90、180,去重后数量为2 → 会被筛选
- Schedule 171511:Occurrence全为90,去重后数量为1 → 不会被筛选
内容的提问来源于stack exchange,提问作者Arun K
相关产品推荐
相关产品推荐

