Sql 选择在过去24小时内没有记录的所有表格(但在过去48小时内有一些记录,以此类推)

Sql 选择在过去24小时内没有记录的所有表格(但在过去48小时内有一些记录,以此类推),sql,oracle,Sql,Oracle,我有一个表(在Oracle数据库中),它 表单名称(“名称”) 创建日期(“gmts”) 其他专栏(我不在乎) 我可以用计算机计算过去24小时的数据 select name, count(name) from table where gmts > sysdate -1 group by name; (为了简单起见,我省略了排序)同样,我可以通过使用日期字段在任何时候进行排序 我想做的是显示所有在过去24小时内没有条目,但在过去48小时内有1+条目的表单(因为这可能表明流有问题,但不会

我有一个表(在Oracle数据库中),它

  • 表单名称(“名称”)
  • 创建日期(“gmts”)
  • 其他专栏(我不在乎)
我可以用计算机计算过去24小时的数据

select name, count(name) from table where gmts > sysdate -1 group by name;
(为了简单起见,我省略了排序)同样,我可以通过使用日期字段在任何时候进行排序


我想做的是显示所有在过去24小时内没有条目,但在过去48小时内有1+条目的表单(因为这可能表明流有问题,但不会标记过时的表单)。

假设这是Oracle:

select name, count(name) 
    from table 
where gmts > sysdate -1 
    or name = (select name from table where gmts > sysdate -2 and rownum <= 1) 
group by name
order by gmts desc;

经过一番搜寻,我找到了

select distinct name from table 
  where gmts > systdate - 2 AND
  name NOT IN 
     (select distinct scan_type_nm from document where gmts > sysdate -1)
  order by name asc;

数据库管理系统?(SYSDATE是特定于产品的。)Oracle,应该指定……对不起,我尝试了Oracle版本的许多变体,但它总是说缺少右括号,尽管我可以看到它是平衡的。。有些奇怪的东西(ORA-00907),但这看起来应该能用。@TaoOfGaming如果您想再试一次,我已经更新了Oracle查询?这会运行,但会显示过去24小时内有表单的东西。我想要在过去24小时内没有条目的表单,但在此之前的24小时内有一些表单。@TaoofGraming您需要添加另一个where筛选器,但我对您的表了解不够,无法说明这是什么,即我不知道哪些数据将表示没有条目的表单?例如,如果是在name为null时,那么只需在where子句中添加“And name is null”
select distinct name from table 
  where gmts > systdate - 2 AND
  name NOT IN 
     (select distinct scan_type_nm from document where gmts > sysdate -1)
  order by name asc;