Oracle中怎么样把字段相同的值加在一起 oracle语句中如何把一列的值合并为一个值,用逗号隔开?

Oracle \u4e2d\u7528\u4e00\u6761SQL\u5408\u5e76\u540c\u4e00\u5b57\u6bb5\u7684\u503c

select columnName1,columnName2,columnName3, wm_concat(columnName4) from tableName
group by columnName1,columnName2,columnName3
\u5217\u4e2d\u548c\u8868\u540d\u81ea\u5df1\u4fee\u6539\u4e00\u4e0b\u5c31\u53ef\u4ee5\u4e86\u3002\u3002
\u8bf7\u53c2\u8003\u3002\u3002\u3002

\u6240\u6709\u7248\u672c\u7684oracle\u90fd\u53ef\u4ee5\u4f7f\u7528wm_concat()\u51fd\u6570 \u3002\u4f8b\uff1aselect wm_concat(name) as name from user;
\u4f46\u5982\u679c\u662foracle11g\uff0c\u4f7f\u7528listagg() within group()\u51fd\u6570 \u3002\u4f8b\uff1aselect listagg(name, \u2018,\u2019) within group( order by name) as name from user;

\u4f7f\u7528wm_Concat:

\u4f7f\u7528ListAgg:

\u7ed3\u679c\uff1a

将相同字段的值加在一起需要用sum函数。

如emp表中有如下数据:

现要按deptno为分组,将sal的值加在一起,可用如下语句:

select deptno,sum(sal) sal from emp group by deptno;

查询结果:



问题不是太清楚!!
--每个物品有个字段表示数量,数量求和
select 物品的值,sum(数量) from table_name group by 物品的值
--统计所有物品的值相同的行数。
select 物品的值,count(*) from table_name group by 物品的值

select a.id,(nvl(a.AMOUNT,0)-nvl(b.REV,0)) Result
from a,
(select b.id,sum(b.REV) REV
from b
group by b.id) b
where a.id=b.id(+);

按物品分组统计就ok了
select SUM()
from 。。。
group by 物品名称

select name,
sum(物品价值),
count(1)
from tablename
group by name;

  • oracle鏁版嵁搴撴暟鎹〃涓璽ab1,濡備綍鎵惧嚭鍏朵腑涓変釜瀛楁鍊奸兘鐩稿悓鐨勮褰曠粍鍚,鍙 ...
    绛旓細select t1.* from tab1 t1, tab1 t2 where t1.c1=t2.c1 and t1.c2=t2.c2 and t1.c3=t2.c3 and t1.id != t2.id --id鏄富閿
  • oracle plsql涓庢牱鎵嶈兘瀵规瘮鍑轰袱鏉℃暟鎹腑鏁版嵁鐩稿悓鐨勫瓧娈鍛?
    绛旓細涓嶄笢浣犺鐨勪粈涔堟剰鎬濋樋銆傘傝鍙栵細寮犱笁锛1088091杩欎釜涓や釜鍚楋紵select 濮撳悕锛屾у埆锛宎ge锛実ender from tablename group by 濮撳悕锛屾у埆锛宎ge锛実ender 锛
  • Oracle 濡備綍鏌ヨ鐩稿悓鐨鏁版嵁
    绛旓細濡傛灉浣犲彧瑕乮d閲嶅鐨勶紝鏄 select * from 琛 where id in (select id from 琛 group by id having count(*)>1)濡傛灉浣犺鎵鏈瀛楁閮藉畬鍏涓鏍风殑閲嶅璁板綍鐨勮瘽锛屽氨鏄 select * from 琛 where id in (select id from 琛 group by id,name,age having count(*)>1)...
  • oracle鏁版嵁搴濡備綍鏍规嵁涓涓〃鏍规嵁鍑犱釜瀛楁鐩稿悓鐨,鍚堝苟鍚岀被椤
    绛旓細鍒涘缓琛ㄦ彃鍏ユ暟鎹細create table test(patient int,visit_id int,recording_date date,value1 number(6,2),value2 int,value3 int);insert into test values (1562074,1,to_date('2017-12-27','yyyy-mm-dd'),null,0,null);insert into test values (1562074,1,to_date('2017-12-25','yyyy...
  • oracle 琛ㄤ腑鍙互鏈鐩稿悓鐨鍚嶇О鐨勫瓧娈鍚
    绛旓細鍚屼竴涓〃鏄笉鍙互鐨勶紝涓嶅悓鐨勮〃鍙互鏈鐩稿悓鐨勫瓧娈鍚嶏紙鍗虫爮浣嶅悕锛
  • 濡備綍璁oracle鏁版嵁搴撲腑浠讳綍琛ㄤ腑浠讳綍瀛楁鍊=A鐨鏇挎崲涓哄瓧娈靛=B?璇彞鏄...
    绛旓細declare str_sql varchar2(1000);begin for alltables in (select table_name from user_tables) loop for tablecolumns in (select column_name from user_tab_columns where table_name = alltables.table_name) loop str_sql := 'update '||alltables.table_name||' set '||tabl...
  • oracle 鎬庝箞鎶涓涓〃閲岄潰鐨勪竴涓瀛楁
    绛旓細闇瑕佺敤瀛樺偍杩囩▼瑙e喅銆傚鏁版嵁搴撲腑瀛樺湪涓ゅ紶琛紝瑕佺粰涓ゅ紶琛ㄩ兘澧炲姞涓や釜鍚屾牱鍚嶇О鍚屾牱灞炴鐨勫瓧娈锛岄渶瑕佺敤浠ヤ笅浠g爜锛1銆佸垱寤烘祴璇曠敤琛╰est鍜宼est1 create table test (id int,name varchar2(10));create table test1 (id int,name varchar2(10));2銆佽涓轰袱涓〃鍚屾椂澧炲姞id1鍜宯ame1瀛楁銆備娇鐢ㄤ唬鐮侊細declare...
  • oracle绛涢鐩稿悓瀛楁鐨鏁版嵁
    绛旓細select a.* from test_table a,(select c3 from test_table group by c3 having count(*) > 1 ) b where a.c3 = b.c3 order by c3;鎴栬 select * from test_table where c3 in (select c3 from test_table group by c3 having count(*) > 1 )order by c3;...
  • oracle鍦ㄤ竴涓〃涓庢牱鎶鏌愪竴瀛楁涓鐩稿悓鐨勬潯鐩彁鍙栧嚭鏉?
    绛旓細濡傛灉鍙煡韬唤璇佸彲浠ワ細select 韬唤璇佸彿,count(*) from 浜哄憳淇℃伅琛 group by 韬唤璇佸彿 having count(*)>1 鏌ヤ俊鎭〃鍏ㄩ儴鐨勮瘽锛歴elect * from 浜哄憳淇℃伅琛 where 韬唤璇佸彿=(select 韬唤璇佸彿 from 浜哄憳淇℃伅琛 group by 韬唤璇佸彿 having count(*)>1)
  • 鍦oracle鏁版嵁搴撲腑,瑕佹眰涓や釜瀛楁鐨鍜岃鎬庝箞鍐檚ql璇彞
    绛旓細鍦oracle鏁版嵁搴撲腑,瑕佹眰涓や釜瀛楁鐨鍜屽彲浠ョ敤sql璇彞锛堝墠鎻愭槸涓や釜瀛楁閮芥槸鏁板瓧鍨嬶級锛歋ELECT num1+num2 AS num FROM table_name;鍏朵腑num1銆乶um2鏄姹傚拰鐨勪袱涓瓧娈碉紝num鏄柊鍛藉悕鐨勫拰瀛楁锛宼able_name鏄鏌ヨ鐨勮〃鍚嶃
  • 扩展阅读:oracle标识符过长怎么解决 ... oracle按逗号拆分列为多行 ... 财务oracle是什么软件 ... oracle怎么给表增加字段 ... oracle在现有表中新增字段 ... oracle扩字段长度sql语句 ... oracle一条转成多列 ... oracle标识符无效怎么办 ... oracle添加字段同时加注释 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网