我需要帮助比较sql查询中的数据。我需要在计划组id中比较,与其他计划id相比,具有不同最小目标和最大目标的度量id详细信息是什么例子:我的意思是,我需要比较在同一个计划下,哪个计划度量的最小值和最大值是不同的。如果值是:另一个例子:
7vhp5slm1#
按所有三列分组
select m.plan_id, m.plan_grp_id, m.measure_idfrom plan_measure mgroup by m.plan_id, m.plan_grp_id, m.measure_idhaving min(m.min_target) <> max(m.min_target) or min(m.max_target) <> max(m.max_target);
select m.plan_id, m.plan_grp_id, m.measure_id
from plan_measure m
group by m.plan_id, m.plan_grp_id, m.measure_id
having min(m.min_target) <> max(m.min_target) or min(m.max_target) <> max(m.max_target);
mlmc2os52#
看起来像
SQL> with plan_measure (measure_id, min_target, max_target) as 2 (select 111, 10, 10 from dual union all 3 select 222, 20, 20 from dual union all 4 select 333, 30, 30 from dual union all 5 select 111, 33, 55 from dual union all 6 select 222, 20, 20 from dual union all 7 select 333, 30, 30 from dual union all 8 select 111, 10, 10 from dual union all 9 select 222, 20, 20 from dual union all 10 select 111, 10, 10 from dual 11 ) 12 select measure_id 13 from plan_measure 14 group by measure_id 15 having min(min_target) <> max(max_target);MEASURE_ID---------- 111SQL>
SQL> with plan_measure (measure_id, min_target, max_target) as
2 (select 111, 10, 10 from dual union all
3 select 222, 20, 20 from dual union all
4 select 333, 30, 30 from dual union all
5 select 111, 33, 55 from dual union all
6 select 222, 20, 20 from dual union all
7 select 333, 30, 30 from dual union all
8 select 111, 10, 10 from dual union all
9 select 222, 20, 20 from dual union all
10 select 111, 10, 10 from dual
11 )
12 select measure_id
13 from plan_measure
14 group by measure_id
15 having min(min_target) <> max(max_target);
MEASURE_ID
----------
111
SQL>
我不知道是什么 plan 不过,这张table应该是这样的。这与 plan_measure 以任何明显的方式(至少对我来说不是)。
plan
plan_measure
2条答案
按热度按时间7vhp5slm1#
按所有三列分组
mlmc2os52#
看起来像
我不知道是什么
plan
不过,这张table应该是这样的。这与plan_measure
以任何明显的方式(至少对我来说不是)。