加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle SQL辅佐计较两种差异的方法,但具有配合的分组

发布时间:2021-01-14 00:17:05 所属栏目:站长百科 来源:网络整理
导读:我有一个表,个中包括每个条目标incident_id,status(好比打开或封锁,date_raised(Date)和closure_date(Date). 我想表现一个表来计较封锁日期封锁的变乱数(因此,个中status =’closed’且closure_date不为null的incident_id的计数),以及保持打开的变乱数(event

我有一个表,个中包括每个条目标incident_id,status(好比打开或封锁,date_raised(Date)和closure_date(Date).

我想表现一个表来计较封锁日期封锁的变乱数(因此,个中status =’closed’且closure_date不为null的incident_id的计数),以及保持打开的变乱数(events_id的状态,个中状态=统一天’打开’.

万一我狐疑了你,一个看起来像这样的表:

______________________________________________________________________________
| 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                                 |

办理要领

在我看来,对付每个日期,您但愿得到迄今为止已封锁的题目数目以及在该日期之条件出的仍未办理的题目数目,对吗?以是你也许想要这样的对象:

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

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读