gpt4 book ai didi

sql - Oracle SQL 帮助以两种不同的方式计算相同的事物,但使用共同的分组

转载 作者:行者123 更新时间:2023-12-01 04:02:40 25 4
gpt4 key购买 nike

我有一个表格,其中每个条目都包含一个 incident_id , status (让我们说 opencloseddate_raised (日期)和 closure_date (日期)。

我想显示一个表格,该表格计算关闭日期关闭的事件数量(因此 incident_id 的计数,其中 status='closed' and closure_date is not null),以及保持打开的事件数量(incident_id 的计数status='open' 上)同一天。

如果我把你弄糊涂了,一个看起来像这样的表:

 ______________________________________________________________________________
| closure date | count of incidents closed | count of incidents remaining open |
|--------------|---------------------------|-----------------------------------|
| 01-Sep-12 | 5 | 14 |
| ... | ... | ... |

我管理了一个表格,它可以像这样计算关闭的事件数:
SELECT COUNT(incident_id)
WHERE closure_date IS NOT NULL AND status="open"
GROUP BY closure_date

我已经尝试了几个小时来让其他计数工作,但到目前为止还做不到:-(

编辑:这是我的表格示例:
 ___________________________________________________
| incident_id | status | date_raised | closure_date |
|-------------|--------|-------------|--------------|
| 1 | closed | 01-Sep-12 | 01-Sep-12 |
| 2 | open | 30-Aug-12 | (null) |
| 3 | open | 02-Sep-12 | (null) |
| 4 | closed | 02-Sep-12 | 05-Sep-12 |
| ... | ... | ... | ... |

会给表:
 ______________________________________________________________________________
| closure date | count of incidents closed | count of incidents remaining open |
|--------------|---------------------------|-----------------------------------|
| 01-Sep-12 | 1 | 1 |
| 05-Sep-12 | 1 | 2 |

最佳答案

在我看来,对于每个日期,您想要获得迄今为止已关闭的问题数量以及在该日期之前提出的仍然 Unresolved 问题数量,对吗?所以你可能想要这样的东西:

SELECT t1.closure_date, COUNT(t1.incident_id)
, ( SELECT COUNT(t2.incident_id) FROM incident_table t2
WHERE t2.status = 'open'
AND t2.raised_date < t1.closure_date )
FROM incident_table t1
WHERE t1.closure_date IS NOT NULL
AND t1.status = 'closed'
GROUP BY t1.closure_date

关于sql - Oracle SQL 帮助以两种不同的方式计算相同的事物,但使用共同的分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com