--行转列自定义函数,只针对TABLE1表 --paramType是参数类型,用于判断,param1和param2是条件参数 create or replace function My_concat(paramType in integer,param1 in varchar2,param2 in varchar2) return varchar2 is resultStr ); begin then --定义游标 for temp_cursor1 in (select CONTA_ID FRO
with temp as( select '湖北省' province,'武汉市' city,'第一' ranking from dual union all select '湖北省' province,'孝感市' city,'第二' ranking from dual union all select '湖北省' province,'宜昌市' city,'第三' ranking from dual union all select '湖北省' province,'襄阳市' city,'第四'
今天接到业务部门的一个需求,需要对同一公司的不同财务指标进行排序,需要用到oracle的行转列函数unpivot. 财务报表的表结构为: 要实现业务部门的排序筛选功能,需要首先将行数据转为列数据: 使用unpivot函数,实现如下 with t4 as (select t3.COMPCODE, t3.ENDDATE, t3.CURFDS as "货币资金", t3.TRADFINASSET as "交易性金融资产", t3.NOTESRECE as "应收
TDstats.udfConcat为Teradata自带UDF,定义如下: show function tdstats.udfconcat; REPLACE FUNCTION tdstats.UDFCONCAT (aVarchar ) CHARACTER SET UNICODE) ) CHARACTER SET UNICODE CLASS AGGREGATE () SPECIFIC udfConcat LANGUAGE C NO SQL NO EXTERNAL DATA PARAMETER ST
MySql行转列 以id分组,把name字段的值打印在一行,逗号分隔(默认) select CustomerDrugCode,group_concat(AuditItemName) from noaudit_drug group by CustomerDrugCode; 以id分组,把name字段的值打印在一行,分号分隔 select CustomerDrugCode,group_concat(AuditItemName separator ';') from noaudit_drug grou
行转列: SELECT * FROM src_table UNPIVOT (param_value FOR param_name IN (product_color AS 'product_color', product_type AS 'product_type', is_intelligent AS 'is_intelligent')); 列转换: select * from ( select flow,xx from tab ) a pivot (max(value) f
记录一段行转列SQL代码: select cs.standard_id,cs.area_code,cs.exu_dept, regexp_substr(exu_dept, , level) as dept_id from ca_stand_exu_dept cs connect by id = prior id , and prior dbms_random.value is not null;
1.使用条件查询 查询部门为20的员工列表 -- 查询部门为20的员工列表 SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20' ; 效果:2.使用 listagg() WITHIN GROUP () 将多行合并成一行(比较常用) SELECT T .DEPTNO, listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .EN
--Type CREATE OR REPLACE TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECT ( CURR_STR clob, STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT zh_concat_im) RETURN NUMBER, MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT zh_concat_im, P1 IN VARCHAR2)
背景:对投票的结果按照单位进行汇总统计,数据库中表记录的各个账号对各个选项的投票记录.马上想到一个解决方案,先根据单位和选项进行Group By,然后再行转列得出单位对各个选项的投票情况. with list as ( select GroupId,ANSWER,count(1) as num from Vote GROUP BY GroupId,ANSWER ) select * from list pivot(sum(num) for Answer in (1,2,3,4,5,6)) pvt