当前位置: 代码迷 >> Oracle管理 >> 一张表内数据取出特定的两行(两列)中的相同字段的数据运算该怎么解决
  详细解决方案

一张表内数据取出特定的两行(两列)中的相同字段的数据运算该怎么解决

热度:50   发布时间:2016-04-24 05:24:02.0
一张表内数据取出特定的两行(两列)中的相同字段的数据运算该如何解决
我现在有这样的一个问题。有一张表:

表名取为types
A B C D E
abc 1 2 0.5 1
cde 2 1 0.5 1
fgh 0.5 1 2 0
ijk 0 1 1 2
lmn 2 2 1 0.5

我需要将选择其中的两行或者多行,比如取出abc和lmn,将后面的B,C,D,E列里的数据进行取最大值运算。
得出数据 abc lmn 2 2 1 1

还有第二种需求是取出两列数据,比如取出C列和D列,将C,D列的数据两两相乘。
得出数据 
C*D
1
0.5
2
1
2

请问这应该如何解决呢?

新手发帖,如果有欠缺还请指教!

------解决方案--------------------
这样可以?

SQL code
create table types (a varchar2(10),b number(10,1),c number(10,1),d number(10,1),e number(10,1));insert into types values ('abc',1,2,0.5,1);insert into types values ('cde',2,1,0.5,1);insert into types values ('fgh',0.5,1,2,0);insert into types values ('ijk',0,1,1,2);insert into types values ('lmn',2,2,1,0.5); select wm_concat(a) a,max(b) b,max(c) c,max(d) d,max(e) efrom typeswhere a in ('abc','lmn');    a     b   c   d   e-----------------------------------------1    abc,lmn    2    2    1    1select c*dfrom types;     c*d------------------1    12    0.53    24    15    2
  相关解决方案