一张表内数据取出特定的两行(两列)中的相同字段的数据运算该怎么解决
一张表内数据取出特定的两行(两列)中的相同字段的数据运算该如何解决
我现在有这样的一个问题。有一张表:
表名取为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
请问这应该如何解决呢?
新手发帖,如果有欠缺还请指教!
------解决方案--------------------
这样可以?
我现在有这样的一个问题。有一张表:
表名取为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) e from types where a in ('abc','lmn'); a b c d e ----------------------------------------- 1 abc,lmn 2 2 1 1 select c*d from types; c*d ------------------ 1 1 2 0.5 3 2 4 1 5 2