精华内容
下载资源
问答
  • SQL 多行合并一行

    2018-05-17 13:57:00
    select stuff((select ',' + CONVERT(VARCHAR(50),id)+'' from tab_menu group by id for xml path('')),1,1,'') 转载于:https://www.cnblogs.com/LuoEast/p/9050735.html

    select stuff((select ',' + CONVERT(VARCHAR(50),id)+'' from tab_menu  group by id for xml  path('')),1,1,'')

    转载于:https://www.cnblogs.com/LuoEast/p/9050735.html

    展开全文
  • oracl多行合并一行

    2017-12-13 09:55:00
    转载于:https://www.cnblogs.com/zjqblog/p/8031365.html

     

    转载于:https://www.cnblogs.com/zjqblog/p/8031365.html

    展开全文
  • http://www.ningoo.net/html/2008/how_to_do_string_aggregate_on_oracle.html  假如有如下表,其中各个i值对应的行数是不定的  Sql代码  SQL> select * from t;     I A D  --
    NOTE:特别声明一下内容转自网络 
    http://www.ningoo.net/html/2008/how_to_do_string_aggregate_on_oracle.html 

    假如有如下表,其中各个i值对应的行数是不定的 
    Sql代码  收藏代码
    1. SQL> select * from t;  
    2.   
    3.          I A          D  
    4. ---------- ---------- -------------------  
    5.          1 b          2008-03-27 10:55:42  
    6.          1 a          2008-03-27 10:55:46  
    7.          1 d          2008-03-27 10:55:30  
    8.          2 z          2008-03-27 10:55:55  
    9.          2 t          2008-03-27 10:55:59  
    10.   
    11. --- 要获得如下结果,注意字符串需要按照D列的时间排序:  
    12.   
    13. 1  d,b,a  
    14. 2  z,t  


    这是一个比较典型的行列转换,有好几种实现方法 

    1.自定义函数实现 

    Sql代码  收藏代码
    1. create or replace function my_concat(n number)  
    2. return varchar2  
    3. is  
    4.  type typ_cursor is ref cursor;  
    5.  v_cursor typ_cursor;  
    6.  v_temp varchar2(10);  
    7.  v_result varchar2(4000):= '';  
    8.  v_sql varchar2(200);  
    9. begin  
    10.  v_sql := 'select a from t where i=' || n ||' order by d';  
    11.  open v_cursor for v_sql;  
    12.  loop  
    13.     fetch v_cursor into v_temp;  
    14.     exit when v_cursor%notfound;  
    15.     v_result := v_result ||',' || v_temp;  
    16.  end loop;  
    17.  return substr(v_result,2);  
    18. end;  
    19.   
    20. SQL> select i,my_concat(i) from t group by i;  
    21.   
    22.          I MY_CONCAT(I)  
    23. ---------- --------------------  
    24.          1 d,b,a  
    25.          2 z,t  


    虽然这种方式可以实现需求,但是如果表t的数据量很大,i的值又很多的情况下,因为针对每个i值都要执行一句select,扫描和排序的次数和i的值成正比,性能会非常差。 

    2.使用sys_connect_by_path 

    Sql代码  收藏代码
    1. select i,ltrim(max(sys_connect_by_path(a,',')),',') a  
    2. from  
    3. (  
    4. select i,a,d,min(d) over(partition by i) d_min,  
    5. (row_number() over(order by i,d))+(dense_rank() over (order by i)) numid  
    6. from t  
    7. )  
    8. start with d=d_min connect by numid-1=prior numid  
    9. group by i;  

    从执行计划上来看,这种方式只需要扫描两次表,比自定义函数的方法,效率要高很多,尤其是表中数据量较大的时候: 
     
    3.使用wm_sys.wm_concat 
    这个函数也可以实现类似的行列转换需求,但是似乎没有办法做到直接根据另外一列排序,所以需要先通过子查询或者临时表排好序: 
    Sql代码  收藏代码
    1. SQL> select i,wmsys.wm_concat(a) from t group by i;  
    2.   
    3.          I WMSYS.WM_CONCAT(A)  
    4. ---------- --------------------  
    5.          1 b,a,d  
    6.          2 z,t  
    7.   
    8. SQL> select i,wmsys.wm_concat(a)  
    9.   2  from  
    10.   3  (select * from t order by i,d)  
    11.   4  group by i;  
    12.   
    13.          I WMSYS.WM_CONCAT(A)  
    14. ---------- --------------------  
    15.          1 d,b,a  
    16.          2 z,t  

    执行计划上看,只需要做一次表扫描就可以了,但是这个函数是加密过的,执行计划并不能显示函数内部的操作。
     

    其他一些方法: 
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2196162600402 
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:15637744429336
    展开全文
  • http://www.cnblogs.com/heekui/archive/2009/07/30/1535516.html
    展开全文
  • 原文:https://www.cnblogs.com/jpfss/p/9238877.html ...Editplus 合并行快捷键: Ctrl+Shift+J ,选中要合并,再按快捷键即可 转载于:https://www.cnblogs.com/shihaiming/p/10861764.html...
  • ORACLE多行合并一行

    千次阅读 2013-04-10 15:27:09
    转载地址:...利用Oracle分析函数实现多行数据合并一行  demo场景,以oracle自带库中的表emp为例:  select ename,deptno from emp order by deptno;   ENAME DEPTNO CLARK
  • https://note.youdao.com/ynoteshare1/index.html?id=dbf6153529ceba0f5f9707758c237dfe&type=note#/   -- 1.... ...SELECT t.DEPTNO,t.ENAME FROM SCOT ...2.使用 listagg() WITHIN GROUP () 将多行合并成...
  • SQL/Oracle 将一列多行合并一行

    千次阅读 2015-01-10 09:28:52
    1.SQL 参照:http://www.cnblogs.com/smalleyes/archive/2012/03/08/2385658.html ...方法:用户自定义函数 CREATE FUNCTION FN_Merge (@Student NVARCHAR(50)) RETURNS NVARCHAR(50) AS BEGIN DECLARE @C
  • 利用Oracle分析函数实现多行数据合并一行 http://www.cnblogs.com/mlaaalm/archive/2010/05/17/1737607.html  demo场景,以oracle自带库中的表emp为例:  select ename,deptno from emp order by deptno; ...
  • 地址:https://www.cnblogs.com/shoshana-kong/p/11147690.html一个字段可能对应多条数据,用mysql实现将多行数据合并一行数据例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句:1 SELECT ...
  • 1、用word打开txt文本2、打开“替换”功能,查找内容“^p”,替换内容为“,”(均无双引号)。即可把多列文字合并一行。 转载于:https://www.cnblogs.com/coolbear/p/4243394.html...
  • 1、按Ctrl+F,弹出“替换”的窗口; 2、选择“替换”菜单;...6、设置好之后,点击“全部替换”,即可将多行数据合并一行。 转载于:https://www.cnblogs.com/xiemingwang/p/5524314.html...
  • sql 多行合并问题 zt

    2011-04-02 15:48:56
    写道 内容引自: 多行一列数据合并一行一列数据 http://topic.csdn.net/u/20090714/17/5FE6A0F7-CE78-4936-BE31-21D462236059.html 在MySQL和Oracle中实现行合并 ......
  • mysql中将多行数据合并一行数据

    千次阅读 2019-02-12 10:06:34
    https://www.cnblogs.com/guaiguaipaizz/p/6501676.html
  • http://www.unix.com/shell-programming-scripting/109279-merge-multi-lines-into-one-single-line.html Try this: Code: sed -e '/^$/d' file| tr '\n' ' ' orCode: awk '{printf("%s",$0)}...
  • oracle查询多行数据合并一行数据

    千次阅读 2018-08-31 00:22:53
    https://www.cnblogs.com/xieon1986/archive/2013/01/16/2863077.html https://blog.csdn.net/aolia2000/article/details/22185489
  • 此文转正:...将多行合并一行显示问题。 有点象sql里面,经常遇到的行转列的问题。 这里需要用到next语句。awknext语句使用:在循环逐行匹配,如果遇到next,就会跳过...
  • 发布家庭作业,多个科目,但实际通知只需要条,存储时分科目存储,发送时合并条发送.如 语文 背唐诗 数学 练珠算 英语 打瞌睡 发送时将合为条记录 . 查找资料,引用...
  • http://www.cnblogs.com/mlaaalm/archive/2010/05/17/1737607.html  demo场景,以oracle自带库中的表emp为例:  select ename,deptno from emp order by deptno;     ENAME DEPTNO CLARK 10...
  • SQL 行列转换,sql2000和2005--多行一行 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://jiang5311.blogbus.com/logs/53228755.html 以下主讲sql多行转为一列的合并问题,并在...
  • 张图是原始数据,第二张图是想要实现的效果(实际中数据量很大,可能几万数据) 1.将数据转换成表格 CTRL+A 快速全部选中数据 CTRL+T 快速转换成表格 选中数据之后,数据—从表格——进入PoweQuery界面 2. ...
  • SQLServer查询多行转换为一行合并问题(FOR XML PATH应用) 以下主讲sql多行转为一行合并问题,并在sql2000和2005得到验证 问题描述:将如下形式的数据按id字段合并value字段。 id value —– —— 1 aa 1...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 129
精华内容 51
关键字:

html多行合并一行