Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何计算两个活动条目之间的保留条目数_Sql_Oracle - Fatal编程技术网

Sql 如何计算两个活动条目之间的保留条目数

Sql 如何计算两个活动条目之间的保留条目数,sql,oracle,Sql,Oracle,我想计算两个活动条目之间的保留条目数 S.NO DATA STATUS ----------------------------- 1 B active 2 D hold 3 C active 4 H hold 5 j hold 6 k hold 7 l hold

我想计算两个活动条目之间的保留条目数

S.NO      DATA     STATUS
-----------------------------
   1       B       active
   2       D       hold
   3       C       active
   4       H       hold
   5       j       hold
   6       k       hold
   7       l       hold
   8       y       active 
输出应该是

COUNT OF HOLD
-------------
2
当暂挂条目位于两个活动条目之间时,我们将其视为一批暂挂条目。 然后我们计算表中的整批暂挂条目。在上面的示例中,两个活动项之间有一个保持项,该项计为1。 然后,在另外两个活动项之间又有4个保持项,这被计为1。 所以有两个理由。1+1. 因此,输出为2。

您可以使用函数查看下一行的状态。然后计算当前行处于活动状态而下一行处于保留状态时发生的次数。 从中减去1,就得到了输出

Oracle 11g R2架构设置

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |
查询

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |
您可以使用函数查看下一行的状态。然后计算当前行处于活动状态而下一行处于保留状态时发生的次数。 从中减去1,就得到了输出

Oracle 11g R2架构设置

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |
查询

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |
您可以使用函数查看下一行的状态。然后计算当前行处于活动状态而下一行处于保留状态时发生的次数。 从中减去1,就得到了输出

Oracle 11g R2架构设置

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |
查询

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |
您可以使用函数查看下一行的状态。然后计算当前行处于活动状态而下一行处于保留状态时发生的次数。 从中减去1,就得到了输出

Oracle 11g R2架构设置

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |
查询

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |

create table sam(
    sno_ number,
    data_ varchar2(5),
    status_ varchar2(10)
    );

insert into sam values(1,'a','hold');
insert into sam values(2,'b','active');
insert into sam values(3,'d','active');
insert into sam values(4,'s','hold');
insert into sam values(5,'c','active');
insert into sam values(6,'r','hold');
insert into sam values(7,'t','hold');
insert into sam values(8,'m','active');
insert into sam values(9,'y','hold');
select count(1) - 1 count_of_hold
from (
    select status_, lead(status_,1,'hold') over (order by sno_) next_status_
    from sam
    )
where status_ = 'active' and next_status_ = 'hold';
| COUNT_OF_HOLD |
|---------------|
|             2 |



你试过什么吗?发布一些代码,你的问题是什么(在代码中)。
状态能否保持不变并处于活动状态?请将你的查询放在此处,说明你已经尝试过了。我什么也没尝试过,只是我认为我可以通过CRUSER使用它,或者不可以,我需要一些帮助。G one-是的,我们这里只有两件事保持不变并处于活动状态。你尝试过什么吗?发布一些代码,你的问题是什么(在代码中)。
状态能否保持不变并处于活动状态?请将你的查询放在此处,说明你已经尝试过了。我什么也没尝试过,只是我认为我可以通过CRUSER使用它,或者不可以,我需要一些帮助。G one-是的,我们这里只有两件事保持不变并处于活动状态。你尝试过什么吗?发布一些代码,你的问题是什么(在代码中)。
状态能否保持不变并处于活动状态?请将你的查询放在此处,说明你已经尝试过了。我什么也没尝试过,只是我认为我可以通过CRUSER使用它,或者不可以,我需要一些帮助。G one-是的,我们这里只有两件事保持不变并处于活动状态。你尝试过什么吗?发布一些代码,你的问题是什么(在代码中)。
状态能否保持不变并处于活动状态?将你的查询放在这里,你已经尝试过了。我什么也没尝试过,只是我认为我可以通过CRUSER使用它,或者不可以,我需要一些关于这方面的帮助。G一-是的,我们这里只有两件事保持不变并处于活动状态。+1用于分析工具。如果最后一行以保持状态而不是活动状态结束,该怎么办?反之亦然(以Hold而非active开头)?您将忽略它们?是的,此查询将忽略这两种情况@user3345235,您所说的“sql也”是什么意思?这是sql。您使用的是哪种DBMS?Msg 195,级别15,状态10,第4行“lead”不是可识别的内置函数名。在调试查询时发生此错误,我会按照您的指示生成整个表。。但是他们不承认领导的作用。。im使用SQLServer2012您应该对问题进行适当的标记。但尽管如此,sql server 2012中仍有潜在客户。您必须使用早期版本。检查模拟销售线索功能。分析工具+1。如果最后一行以保持状态而不是活动状态结束,该怎么办?反之亦然(以Hold而非active开头)?您将忽略它们?是的,此查询将忽略这两种情况@user3345235,您所说的“sql也”是什么意思?这是sql。您使用的是哪种DBMS?Msg 195,级别15,状态10,第4行“lead”不是可识别的内置函数名。在调试查询时发生此错误,我会按照您的指示生成整个表。。但是他们不承认领导的作用。。im使用SQLServer2012您应该对问题进行适当的标记。但尽管如此,sql server 2012中仍有潜在客户。您必须使用早期版本。检查模拟销售线索功能。分析工具+1。如果最后一行以保持状态而不是活动状态结束,该怎么办?反之亦然(以Hold而非active开头)?您将忽略它们?是的,此查询将忽略这两种情况@user3345235,您所说的“sql也”是什么意思?这是sql。您使用的是哪种DBMS?Msg 195,级别15,状态10,第4行“lead”不是可识别的内置函数名。在调试查询时发生此错误,我会按照您的指示生成整个表。。但是他们不承认领导的作用。。im使用SQLServer2012您应该对问题进行适当的标记。但尽管如此,sql server 2012中仍有潜在客户。您必须使用早期版本。检查模拟销售线索功能。分析工具+1。如果最后一行以保持状态而不是活动状态结束,该怎么办?反之亦然(以Hold而非active开头)?您将忽略它们?是的,此查询将忽略这两种情况@user3345235,您所说的“sql也”是什么意思?这是sql。您使用的是哪种DBMS?Msg 195,级别15,状态10,第4行“lead”不是可识别的内置函数名。在调试查询时发生此错误,我会按照您的指示生成整个表。。但是他们不承认领导的作用。。im使用SQLServer2012您应该对问题进行适当的标记。但尽管如此,sql server 2012中仍有潜在客户。您必须使用早期版本。检查模拟导程功能。