Oracle根据【日期】组,其他条件根据PIVOT行转列。使每个日期条件关联的其他数据只有一行。

  select
  OPER_TIME,
  MICROPAY,
  REFUND
  from
  (
  select trunc(oper_time) oper_time,
  class_name,
  sum(total_fee) total_fee
  from wx_pay_detail
  group by trunc(oper_time),class_name
  )
  pivot(sum(total_fee) for class_name in
  (‘MicroPay‘as "MICROPAY",‘Refund‘ as "REFUND"))
  order by oper_time

↑SQL,转换后列名 在FOR...IN 中AS 想要的 “名称”

时间: 2024-11-24 21:45:39

Oracle根据【日期】组,其他条件根据PIVOT行转列。使每个日期条件关联的其他数据只有一行。的相关文章

sqlserver报表统计——参数化动态PIVOT行转列

先列出所有表结构: --title 报表 --table 实收水费:hx_t_received --字段 收费部门id:hx_fdepartmentid 1.收费部门名称:hx_fdepartmentname 应收水费信息ID:hx_freceivableid --收费类别:hx_ftype (水费(1):再分[开户(table) 供水类别:自来水(100000001)==水费,中水(100000002)==中水费],代理费(2)==污水处理费) --实收金额:hx_freceivedamoun

Pivot 行转列用法

源视图: 使用 Pivot 行转列进行处理: 语句如下: select m.*,a.A as AccountA,a.B as AccountB,a.C as AccountC,a.D as AccountD,a.E as AccountE,a.F as AccountF,a.G as AccountG from     (select TypeCode,Account,MainCode from Sale_AdvanceType) p     pivot    (        max(Acco

SQL Server中使用PIVOT行转列

1.建表及插入数据 1 USE [AdventureDB] 2 GO 3 /****** Object: Table [dbo].[Score] Script Date: 11/25/2016 4:30:50 PM ******/ 4 SET ANSI_NULLS ON 5 GO 6 7 SET QUOTED_IDENTIFIER ON 8 GO 9 10 CREATE TABLE [dbo].[Score]([Name] [varchar](50) NULL,[Subject] [varcha

SQL Server 2008 R2——PIVOT 行转列 以及聚合函数的选择

原文:SQL Server 2008 R2--PIVOT 行转列 以及聚合函数的选择 ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性. 未经作者同意请勿修改(包括本声明),保留法律追究的权利. 未经作者同意请勿用于学术性引用. 未经作者同意请勿用于商业出版.商业印刷.商业引用. 本文不定期修正完善,为保证内容正确,建议移步原文处阅读. 本文

Oracle 11g pivot行转列

之前写过一篇行转列的文章:Oracle 简单的列转行 SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production PL/SQL Release 11.2.0.1.0 -

Sqlserver中PIVOT行转列透视操作

创建表: IF OBJECT_ID('T040_PRODUCT_SALES') IS NOT NULL DROP TABLE T040_PRODUCT_SALES create table T040_PRODUCT_SALES ( ID INT IDENTITY(1,1), ProductName VARCHAR(20), SaleMonth INT, SalesCount INT ) 插入数据并排序: INSERT INTO T040_PRODUCT_SALES VALUES ('Bicycl

sql与oracle中有关case和decode的用法(行转列)及比较(转

引: 为了举例说明,这里创建了一张成绩表,如下图所示: 比较: 1.sql中,这两个函数我们仅能使用case,代码及结果如下: select name,       case Subject          when '语文' then 1          when '数学' then 2          when '英语' then 3   --else 3       end  as '科目代码'   from Results 同样的,我们可以用case实现行转列,代码及结果如下: s

SQL SERVER PIVOT 行转列、列传行

在数据库操作中,有些时候我们遇到需要实现"行转列"的需求,例如一下的表为某店铺的一周收入情况表: WEEK_INCOME(WEEK VARCHAR(10),INCOME DECIMAL) 我们先插入一些模拟数据: INSERT INTO WEEK_INCOME SELECT '星期一',1000 UNION ALL SELECT '星期二',2000 UNION ALL SELECT '星期三',3000 UNION ALL SELECT '星期四',4000 UNION ALL SE

MySQL DML操作--------实现pivot行转列功能最佳实战

1. 背景 * 由于MySQL 不支持类型Oracle与SQL Server的pivot功能进行行列转换. 2. 表与数据 mysql> select * from t_temp; +---------+-----------+------------+ | year    | season    | orderCount | +---------+-----------+------------+ | 2010年  | 一季度    |        100 | | 2010年  | 二季度