2016-07-24 2 views
-1
C1 |C2 |C3 
a |b1 |1 
a |b2 |2 
a |b3 |3 
a |b4 |4 
b |b1 |5 
b |b2 |6 
b |b3 |10 
b |b4 |11 

Учитывая приведенные выше данные таблицы, я хочу вывода, как показано ниже:Как вычислить разницу значений в одном столбце

C1 |DIFF 
a |3 
b |6 

Здесь DIFF разница стоимости в C3 колонке, где C2='b4' и C2='b1' , Что было бы логикой для Oracle?

+0

Всегда ли одинаковые четыре значения в 'C2' для каждого отдельного значения в' C1', или это переменная (например, 'b5',' b6' и т. Д.)? –

+0

@Engstrom да C2 всегда будет b1-b4 для каждого C1 – abhisek

ответ

0

Возможно, это ... my_table - это ваш стол ввода.

select t1.c1 as c1, t1.c3 - t2.c3 as diff 
from (select c1, c3 from my_table where c2 = 'b4') t1 
     inner join 
     (select c1, c3 from my_table where c2 = 'b1') t2 
     on t1.c1 = t2.c1 
; 
+0

он помогает ... спасибо :) – abhisek

Смежные вопросы