如何在 oracle-sql 中计算周一待处理票的总数?
Posted
技术标签:
【中文标题】如何在 oracle-sql 中计算周一待处理票的总数?【英文标题】:How to count total amount of pending tickets monday in oracle-sql? 【发布时间】:2020-12-04 10:41:12 【问题描述】:我想计算星期一的待处理票的总数。我不想要周一被转移到待处理的门票数量,而是总数量。 包含样本数据的表格:
预期结果: 周一待处理的门票总数
【问题讨论】:
您如何知道工单是否处于待处理状态?票是如何定义的?什么是“星期一”?表中没有说明所指的内容。 【参考方案1】:如果每一行代表一张票,那么您可以使用以下方法获取特定日期待处理的号码:
select count(*)
from t
where updated_at < :date and status = 'pending';
注意:这不会计算已更改为另一个状态的“待定”状态。该数据没有足够的信息来回答这个问题。而且您的问题没有解释状态变化。
我实际上建议您提出一个新问题,其中包含有关状态是什么、它们如何变化以及样本数据和期望结果的更全面的信息。
【讨论】:
【参考方案2】:我假设未关闭的票正在等待处理。您可以使用GROUP BY
和HAVING
,如下所示:
SELECT COUNT(1) AS PENDING FROM YOUR_TABLE T
WHERE T.CREATED_AT <= <<YOUR_DATE>>
GROUP BY T.TICKET_ID
HAVING SUM(CASE WHEN T.STATUS = 'closed' THEN 1 ELSE 0 END) = 0
【讨论】:
以上是关于如何在 oracle-sql 中计算周一待处理票的总数?的主要内容,如果未能解决你的问题,请参考以下文章
聚合函数上的 iOS FetchRequest:如何包含待处理的更改?