oracle wm_concat() 查询结果去重该怎么做 5C

sql语句:
SELECT s_cdbm, wm_concat(s_qxbmj) as s_qxbmj FROM tab_qx
WHERE s_jsbm IN('2203', '4556')
GROUP BY s_cdbm ORDER BY TO_NUMBER(s_cdbm)

查询结果:
3 2,3,4,5,17,2,3,4,5
35 1,2
36 1,2,1,2

想要得到的结果
3 2,3,4,5,17
35 1
36 1,2

3个回答

SELECT s_cdbm, wm_concat(distinct(s_qxbmj)) as s_qxbmj FROM tab_qx
WHERE s_jsbm IN('2203', '4556')
GROUP BY s_cdbm ORDER BY TO_NUMBER(s_cdbm)
试试这个

使用distinct或者group by

先去重 再使用wm_concat

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
oracle的WM_concat
oracle的WM_concat和translate的用法
oracle 数据库 去重查询
数据库多字段去重 方法介绍:distinct 关键字、group by  、row_number() over()
oracle 数据库去重查询
oracle数据库中有如下一张表,包含id,loginid,name,researchtime等字段,其中name字段中的数据有重复,查询数据时要重复数据只取一条,利用row_number ()over(partition by 列 order by 列 desc)方法实现 1:select a.,row_number() over(partition by a.name order by res...
Oracle里的查询去重
给你举个例子: 比如a表有这样几条数据 id name 1 5 2 4 3 5 4 3 那么你要查询名字不同的 语句应该是 select distinc(a.name) from a 那么查询到的结果应该是 name 5 4 3 但是实际情况并不仅仅是这么简单 比如我想查询name 不重复的所有数据 你就应该用到 group by 分组 select distinct(a.name),a.id f...
AR查询多字段结果去重
需要解决的问题:假设有表user,查询其中字段user_name和mobile;在数据中mobile有多条重复,当前我们想去重然后取出多条数据,我们需要相同的名字和手机号只作为一条记录显示 常规的方法是以下查询:Users::find()->select(['user_name','mobile'])->distinct()->where(['mobile'=>'xxxxxxxxxxx'])->a
oracle 在pl/saql wm_concat 结果成
SQL> select to_char(wmsys.wm_concat(sysdate)),wmsys.wm_concat(sysdate) from dual;rn rnTO_CHAR(WMSYS.WM_CONCAT(SYSDAT WMSYS.WM_CONCAT(SYSDATE)rn---------------------------------------- --------------------------------------------rn09-11月-11 rnrn环境: win7 64位 pl/sql 8.0 rn怎么解决 不让其显示
wm_concat函数用法
在日常的数据查询过程中,经常遇到一条信息分多条记录存储,并以同一个ID关联的情况,比如常见的房产证权利人信息,因为共有权人可能有很多,不可能把所有的权利人都放到权利人表的权利人字段,把所有权利人的证件号都放到权利人证件号字段,所以在数据库设计时候,会采用一个权利人一条记录,并以权利ID关联的方式存放。 但是在数据查询时候,有时候又希望将所有权利人信息一起展示,这里可能就会用到Oracle的wm_
这个查询该怎么做
例如有如下记录rnid1 id2rn1 2rn1 3rn2 4rn5 4rnrn我想找1相关的数据rn根据id1能得到 2 3rn根据2 得到 4rn根据4 得到 5rn最后得到id为rn2 3 4 5rn的关联记录rn这个怎么查询出来呢
这种查询该怎么做?
用asp+vbscript做的rnrn<%rn set rs=server.createobject("adodb.recordset")rn sql="select major.major_no,count(*) as count from class,stu_info,major where class.major_no=major.major_no and class.class_no=stu_info.class_no and major.d_no="&xy&" group by major.major_no"rn rs.open sql,conn,3,3rn%>rnrn我想在结果集rs中加入对应的major_name,rn可是在sql查询中,rn如果用到集合函数,那么select选择的字段,只能是group by和count使用过的,我该怎么样查询?rnrn我想得到的结果是:rnrs有三个字段:major_no,major_name,count
oracle sql WM_CONCAT函数
![图片说明](https://img-ask.csdn.net/upload/201809/19/1537342012_104439.png)rn我想给WM_CONCAT(Z.ORIGIN) as 用地指标来源一个查询条件rn![图片说明](https://img-ask.csdn.net/upload/201809/19/1537342059_969717.png)rnrn写法应该是怎么样的各位大佬rnrnrn这是我的sqlrn```rn SELECT rn T.IID,rn T.PROJ_NAME,rn WM_CONCAT(Z.ORIGIN) as 用地指标来源rnFROM rn UT_SP_PROJ_BUILD T,rn OT_BATCHAPPLY O, rn UT_SP_ZBLY ZrnWHERE rn T.PROJ_NAME = O.NAME(+)rn AND O.ID = Z.BATCH_ID(+)rnGROUPrn BY T.IID,rn T.PROJ_NAMErnrn```
Oracle wm_concat()函数 及排序
今天在项目中修改了一个sql  select t.dmid bmid,wm_concat(m.xm) fgld from gg_user m,gg_dmnr_qx t where m.id = t.czyid group by dmid   这个函数也够把符合条件的几条数据的某一列 合并成一条数据中的某一列 比如上面这个sql  就是把gg_dmnr_qx 表里的数据根据dmid 分组 ...
oracle wm_concat超长
各位,wm_concat超长了,好像只能容纳4000个,怎么办呢,这里一般情况下都会超过这个长度,求大神给解啊rnrn
Oracle中多表联合查询。求如何对查询结果去重?
[code=SQL]select NEW_YGINFO.YGID,NEW_DEPT.DEPTNAME,NEW_YGINFO.YGNAME,NEW_DEPTGW.DEPT_GW,NEW_YGINFO.YGSFZ,NEW_YGINFO.LOGINNAME,NEW_YGINFO.ROLE,NEW_YGINFO.PASSWORD,count(*) from new_yginfo inner join new_dept on new_yginfo.deptid = new_dept.id inner join new_deptgw on NEW_DEPTGW.DEPT_GWID = NEW_DEPT.ID[/code]rnrn查询结果如下:rnrnygid deptname ygname dept_gw ygsfz loginname role passwordrn88 技术装备科 神啊 副科长 133131231231 神啊 1111rn88 技术装备科 神啊 科长 133131231231 神啊 1111rn88 技术装备科 神啊 科员 133131231231 神啊 1111rn281 技术装备科 掌握 副科长 掌握 0 1111rn281 技术装备科 掌握 科长 掌握 0 1111rn281 技术装备科 掌握 科员 掌握 0 1111rn282 技术装备科 地方 副科长 地方 0 1111rn282 技术装备科 地方 科长 地方 0 1111rn282 技术装备科 地方 科员 地方 0 1111rnrn
oracle的wm_concat函数和排序
oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似。 通过wm_concat函数可以实现行转列 NO CLASS SCORE 1001 1 99 1002 2 98 1001 3 97 1004 1 98 1005 1 97 1006 1 99 1007 2 98 1008 3 97
oracle 创建wm_concat函数
wm_concat函数在oracle 10G以下版本是没有的,这个就需要我们自己来创建,有需要的就下载下来,直接运行就行了,如果在运行中出中,请分开运行,不要一次性运行哟
oracle都怎么做查询???
三层结构在sql中习惯写存储过程返回记录集,但在oracle中太麻烦了,不知道大家都怎么做的
ORACLE查询结果分页
以ORACLE 10g来说,常用的分页方式有两种:   1、使用ROW_NUM关键字。对每一个查询结果此关键字返回一个数值型的伪列,此伪列标识了查询结果中每一行的顺序。毫无疑问,这正是我们分页时需要的,此关键字的使用方式如下: SELECT ROWNUM, A.* FROM TableX A   如果我们需要分页,那么先在程序中计算出需要的行数范围。例如每页显示10行,现在浏览第2页,就...
Oracle结果查询
各位高手,现在有这么一个需求看如何实现,帮忙看看如何实现,感谢:rnselect status from barcode where id in (1,2,3,4,5,6,7)rn当id存在时返回status;rn当id不存在时status栏位显示None。
oracle查询结果显示格式?
新手提问;rn怎么设置可以让oracle的查询结果输出为表格的形式;rn我现在的查询结果输出为rnfiel1rn---rnfiel2rnrn连接rn平台账号rnrn连接rn平台密码rnrn权限rn系统权限rn--------------------rn我想让它变成如下显示格式rnrnfield1 field2rn连接 平台帐号rn连接 平台密码rn权限 系统权限
java 去重并查询出分类的结果
在项目会遇到这样的需求 如查询某个分类下面的数据,(一个表 里面有多个分类) 1.我这里的解决方案是 先查询所有的数据 然后遍历一次去重 使用的方法就list 中的 然后再拿去重以后的数据在去比对所有的数据 查询出这个分类下的所有数据 代码如下: List parameters2 =shopStoreService.getXxbProductParameters(x); Li
对查询结果的某个字段去重
[code=sql]rnselect id,substr(jysj,1,10),count(*) as jyrq from yw_jfgl_cxjylsb_ls where id='63000099' rn and (((substr(jysj,1,10)>='2017-03-04') and (substr(jysj,1,10)<='2017-03-05')) rn or ((substr(jysj,1,10)>='2017-03-11') and (substr(jysj,1,10)<='2017-03-12'))rn or ((substr(jysj,1,10)>='2017-03-18') and (substr(jysj,1,10)<='2017-03-19'))rn or ((substr(jysj,1,10)>='2017-03-25') and (substr(jysj,1,10)<='2017-03-26'))rn or ((substr(jysj,1,10)>='2017-04-01') and (substr(jysj,1,10)<='2017-04-02'))rn or ((substr(jysj,1,10)>='2017-04-08') and (substr(jysj,1,10)<='2017-04-09')))rn and (ZHKHYBT is not null)rn group by jgh,substr(jysj,1,10) order by jyrq;rnrn[/code]rnrn查询的结果中ZHKHYBT字段有重复的行,怎么保持ZHKHYBT字段结果的唯一性,也就是将ZHKHYBT字段重复的去掉,只对这个字段去重
Oracle 查询结果乱码解决
目前有一个系统JDBC查询做了简单的封装,其中面对的字符串的查询 rs.getString("xxx");rn可是现在这个系统面对一个数据库,而且对方的数据库编码是英文编码这样查询的结果都是乱码?rn rnrn1.如果像下面这么做的话在每个结果集地方都得转换一个,代码的改动量太大rnrnnew String(rs.getString.getBytes("ISO-8859-1"),"GB18030");rnrn请教高手有没最小的改动来实现字符转换?rn
oracle 查询结果行转列
工作中遇到了这么一个情况:sql查询结果,查出来需要遍历才能取到想要的结果 SELECT LAYER_CODE,GROUP_NAME FROM BS_CHNGROUP_DICT START WITH GROUP_ID = '10809' CONNECT BY GROUP_ID = PRIOR PARENT_ID 结果 我想要的是结果中,直接用get(&quot;C02&quot;...
Oracle 查询结果列转行
查询结果列转行 wm_concat()select wm_concat(MC) from ZDJSJYRYLB where instr('01,02,03', DM) > 0
oracle的查询结果合并
1.UNION用于获取两个结果集的并集,会自动去掉结果集中的重复行,切回以第一列的结果进行排序。   例子(下面几个替换关键字):   SELECT ename,sal,job FROM emp EHERE sal>2500   UNION   SELECT ename,sal,job FROM emp WHERE job='MANAGER';   2.UNION ALL用于获取两个结
union 中的查询结果如何去重?
在以下查询结果中,由于'0' AS ccc和'1' AS ccc是数据库中不存在的字段,是我加上去的,所以这个东东变成了union在区分重复时候的依据,无法把id,name重复的数据去掉.于是下列语句的union效果就等同于union all了,但我想要的结果是:只要id和name一样就算重复,不考虑'0' AS ccc和'1' AS ccc,应该怎么办?rnrn[code=sql]rnselect id,name,'0' AS ccc from tableArnunionrnselect id,name,'1' AS ccc from tableB[/code]
mysql查询结果合并去重、合并全部
SELECT doctor_id,doctor_name,doctor_position,COUNT(*) amountFROM ( (SELECT d.doctor_id,d.doctor_name,d.doctor_position FROM doctor_info d LEFT JOIN hospitalized h ON d.doctor_id=h.doctor_id) UNION AL
新手求教一个查询结果去重的问题
最近项目上客户需要一个报表,大概情况如下,有表A[img=https://img-bbs.csdn.net/upload/201607/29/1469759456_912900.png][/img],表B[img=https://img-bbs.csdn.net/upload/201607/29/1469759512_232755.png][/img],客户想要结果类似于[img=https://img-bbs.csdn.net/upload/201607/29/1469759730_146393.png][/img],如果直接把表A和表B关联的话,第一列和第二列就会有很多重复的,望大神指教怎么能把这些重复的去掉而得到客户想要的结果?
06-3-数据库查询-合并查询结果并去重
06-3-数据库查询-合并查询结果并去重。数据查询后的处理
oracle没有WM_CONCAT函数问题
1.函数wm_concat(列名),该函数可以把列值以”,”号分隔起来,并显示成一行。 2.oracle没有WM_CONCAT函数问题用oracle自带脚本重建wmsys.wm_concat函数 $ sqlplus / as sysdba SQL&amp;gt; @$ORACLE_HOME/rdbms/admin/owmctab.plb 略… SQL&amp;gt; @$ORACLE_HOME/rdbm...
看看这个查询的该怎么做
查询结果:rnrnrnrn rn定位接口rnrn rn rn rnrnrn rn rn ++佳讯手机定位查询结果++rn rn rn 您查询的手机号码:rn 13707970133rn rn rn 当前位置:rn 江西赣州rn rn rn 定位时间:rn 2008-10-03 08:04:03rn rn rn rn 刷新rn rn rnrnrnrnrn有办法让他的结果就显示:rnrn 当前位置:rn 江西赣州rn rn吗?rnrn
这个查询该怎么做呀!
销售表:salern billNo sumPrice billDatern xs-001 1000 2005-5-5rn xs-002 1500 2005-5-8rn xs-003 800 2005-5-10rn收款表:chargern billNo sunPrice billDatern sk-001 500 2005-5-6rn sk-002 1000 2005-5-7rnrn问题如下:我现在想得到如下的结果集rn应收表:chargeBookrn No BillNo priceLess priceAdd chargePricern 1 xs-001 0 1000 1000rn 2 sk-001 500 0 500rn 3 sk-002 1000 0 -500rn 4 xs-002 0 1500 1000rn 5 xs-003 0 800 1800rn该怎么做?rnrn
想在DBGrid中显示TQuery的查询结果,该怎么做?
要在DBGrid中显示TQuery的查询结果,这样写对吗:rnQuery1->SQL->Clear();rnQuery1->SQL->Add("Select * From tableName Order By 学号");rnQuery1->Open();rnDBGrid1->DataSource->DataSet->Edit();rnDBGrid1->DataSource->DataSet=Query1->DataSource->DataSet;//该语句编译时通过,执行时出错
我想把查询的结果赋给一个变量,该怎么做
我想把查询的结果赋给一个变量,该怎么做
vb+access 查询结果用text控件显示 该怎么做?
vb+access 以前用的都是查询结果显示到datagrid中。rnrn代码是:rnrnOpenTable frmMDI.adoGuest, "SELECT * FROM Guest order by bookno desc"rndtgRoomQueryRefreshrnrn现在我遇到问题了,我要把数据库中的某个字段求和也就是SUM(),这个我也会用,rn但是我不知道怎么样才能把查询求合后的结果通过一个text控件来显示,请大家帮帮我。
想把各个字段的查询结果连接在一起该怎么做啊
比如有个查询rnselect id, name, age,weight from personrn我想得到的结果不是通常这样:1 liuming 22 128rn而是"1,liuming,22,128" 这一个字符串rn请问查询该怎么写啊?
查询去重
select distinct 字段名 from 表名 为了增加可读性,需要加括号 select distinct(字段名) from 表名 
oracle 多行合一 wm_concat 函数
wmsys.wm_concat函数,它的作用是以','链接字符  (版本10G以上) 例子如下: 创建表: create table idtable (id number,name varchar2(30)); 准备数据: (共六条) insert into idtable values(10,'ab'); insert into idtable values(10,'b
oracle去重,根据列去重,字段去重。
distinct去重在用in实在是不好用啊,速度堪忧! 根据字段去重,。 根据 id和sex 字段去除重复的行,并获取其它的列: select id,name,sex from( select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a ) where su=1 其中,partition b...
oracle去重
1.oracle查找表中的重复数据    select testid,count(1)    from table    group by testid    having count(1)>1;    testid 标签号 2.去重    detele from tab_name a    where col1,col2 in(
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件