如果列存在于具有条件的其他表中,则 Oracle 计数

香蕉_99

我有这张桌子

COL_A   FROM    TO
------------------
  D1       1     3  
  D2       3     7  

还有这张另一张桌子

COL_A   VALUE
-------------
    D1      0
    D1      2
    D1      5
    D2      2
    D2      5
    D2      6

我想得到这个。对于第一个表中的每一行,计算第二个表中值小于、介于和大于 FROM 和 TO 列的行。

COL_A   FROM    TO  LESS_THAN_FROM  BETWEEN_FROM_TO GREATER_THAN_TO
-------------------------------------------------------------------
D1         1     3               1                1               1
D2         3     7               1                2               0
戈登·利诺夫

使用join和条件聚合:

select t.col_a, t.from, t.to,
       sum(case when o.value < t.from then 1 else 0 end) as less_than,
       sum(case when o.value between t.from and t.to then 1 else 0 end) as in_between,
       sum(case when o.value > t.to then 1 else 0 end) as greater_than
from this_table t join
     other_table o
     on t.col_a = o.col_a
group by t.col_a, t.from, t.to;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Oracle计数群集

“ For循环” Oracle PL / SQL中的迭代计数

具有联接和计数功能的Oracle SQL

带有计数的数据透视表-Oracle SQL

oracle sql排名和条件语句计数

使用Oracle SQL计数

oracle查询以获取计数

表中具有非空值的每个列的计数-Oracle

Oracle查询以从多个表中获取计数并并排显示

如果没有记录计数,则显示零-ORACLE SQL查询

通过联接表选择其他列的计数(Oracle SQL)

根据不同的条件选择Oracle Query的计数

如何使用条件对SQL(Oracle)中的多列进行计数?

计算Oracle中不同范围的计数

仅当其他列具有条件时,才对列中的唯一值进行计数

单个MongoDB聚合管道中具有条件的总计数和字段计数

在Oracle SQL表的单独列中显示计数条件的结果

SQL Oracle中按行进行条件条件项计数

如何获取Oracle中特定记录的计数?

MySQL:如果有条件存在于其他表中,则从表中删除行

在Oracle中按案例选择计数

具有累加计数的Oracle分层SQL

ORACLE 查询计数缓慢

Oracle PL/SQL:如何有条件地使用列,因为它可能不存在于旧版本的表中

从 MySQL/oracle 中的多个表中计数

如何根据oracle中的其他列值对行进行分组并获取计数

oracle中的每周最大计数记录

Pandas:如果字符串存在于几列中的任何一列中,我想对计数求和,并将此计数添加到具有搜索词的另一个数据框中

如果 id 存在于另一个表中,则有条件地插入到另一个表中,否则插入到 oracle 中的两个表中