oracle sql小结(主要讲横列转换的例子)group by以及wmsys.wm_concat()的使用
---计算九月每个电厂的数量
select f_dcname,count(f_dcname) as 九月份的数量 from W_EC_PLACESTATION_COLLECT t
where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1
group by f_dcname
----计算九月份每个电厂对应的每个日期(左链接)
select a.f_dcname,a.f_collectdate from W_EC_PLACESTATION_COLLECT a
left join W_EC_PLACESTATION_COLLECT b on a.f_dcname = b.f_dcname and a.f_collectdate= b.f_collectdate
where a.f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND a.f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1
and a.f_dcname like '%光伏%'
order by a.f_dcname,a.f_collectdate
----计算九月份每个日期对应的每个电厂(group by两个字段)
select f_collectdate ,f_dcname from W_EC_PLACESTATION_COLLECT t
where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1
and f_dcname like '%光伏%'
group by f_collectdate ,f_dcname order by f_collectdate
--合并电厂的日期(行列转换)
select f_dcname ,wmsys.wm_concat(to_char(f_collectdate,'dd')) from W_EC_PLACESTATION_COLLECT t
where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1
group by f_dcname
--合并电厂的日期(行列转换)并让合并的日期进行排序
select f_dcname ,max(r)
from (
select f_dcname , wmsys.wm_concat(to_char(f_collectdate,'dd'))
over(partition by f_dcname order by f_collectdate ) r
from W_EC_PLACESTATION_COLLECT t
where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1
)
group by f_dcname
oracle sql小结(主要讲横列转换的例子)group by以及wmsys.wm_concat()的使用的更多相关文章
- oracle sql小结(主要讲横列转换的例子)decode 以及case
--建表 create table kecheng( id NUMBER, name VARCHAR2(20), course VARCHAR2(20), score NUMBER); --插入数据i ...
- Oracle sql 查询结果某一列字段合并成为一条数据
使用oracle中自带函数 wmsys.wm_concat(需合并列的字段名) 用法如下: select code,name,wmsys.wm_concat(baname) from tab gro ...
- SQL Server SQL性能优化之--pivot行列转换减少扫描计数优化查询语句
原文出处:http://www.cnblogs.com/wy123/p/5933734.html 先看常用的一种表结构设计方式: 那么可能会遇到一种典型的查询方式,主子表关联,查询子表中的某些(或者全 ...
- (转载)SQL语句,纵列转横列
SQL语句,纵列转横列 Feed: 大富翁笔记 Title: SQL语句,纵列转横列 Author: wzmbox Comments sTable.db库位 货物编号 库存数1 0101 501 01 ...
- Oracle sql 中的字符(串)替换与转换[转载]
1.REPLACE 语法:REPLACE(char, search_string,replacement_string) 用法:将char中的字符串search_string全部转换为字符串repla ...
- fixed Oracle SQL报错 #ORA-01460: 转换请求无法实施或不合理
最近遇到一个oracle错误,之前并没有遇到过,并不是select in超过1000个导致的,通过网上资料说是oracle版本导致,也有的说是oracle SQL过长导致. 然后通过自己实践应该说是o ...
- 【总结】Oracle sql 中的字符(串)替换与转换
1.REPLACE 语法:REPLACE(char, search_string,replacement_string) 用法:将char中的字符串search_string全部转换为字符串repla ...
- sql 分组统计查询并横纵坐标转换
关于sql 分组统计查询,我们在做报表的时候经常需要用到;今天就在这里整理下; 先附上一段sql代码: if object_id(N'#mytb',N'U') is not null drop tab ...
- [Oracle] SQL*Loader 详细使用教程(3)- 控制文件
控制文件是SQL*Loader里最重要的文件,它是一个文本文件,用来定义数据文件的位置.数据的格式.以及配置数据加载过程的行为,在sqlldr中以control参数指定控制文件. 在控制文件里配置 ...
随机推荐
- Git 学习笔记--删除错误提交的commit
如果不小心把错误的commit给commit了,可以对其进行撤销 1.使用git log查看commit日志,找到错误提交前一版本commit的哈希值; 2.使用git reset --hard co ...
- HRMS文件解析2
returntablefieldColorFilterGray()函数在/lib/select_menu.php文件中,函数如下: function returntablefieldColorFilt ...
- WPS 2019 How To Create New Sheets For Each Row In Excel?
https://www.extendoffice.com/documents/excel/3197-excel-create-new-sheet-for-each-row.html How To C ...
- react-native 搭建环境
1.安装 nodejs 配置环境变量 node -v npm -v 2.安装 javaSE 1.8以上 http://www.oracle.com/technetwork/java/javase/ar ...
- WordPlayer
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- Codeforces 660C - Hard Process - [二分+DP]
题目链接:http://codeforces.com/problemset/problem/660/C 题意: 给你一个长度为 $n$ 的 $01$ 串 $a$,记 $f(a)$ 表示其中最长的一段连 ...
- iOS ARC编译器规则和内存管理规则
iOS 开发当中,自动引用计数已经是标准的内存管理方案.除了一些老旧的项目或者库已经没有人使用手动来管理内存了吧. ARC无疑是把开发者从繁琐的保留/释放引用对象逻辑中解脱出来.但这并不是万事大吉了, ...
- java登录怎么做
(一)1.先查找有没当前用户.2.对比用户名和密码3.返回用户信息 @Override public AppResultEntity userLogin(String username, String ...
- Linux 下安装JDK和jmeter 及环境配置记录过程
一.安装首先要查看linux系统的位数,用命令getconf LONG_BIT,我的是centOS 32位 二.官网下载32位的JDK8 http://www.oracle.com/technetwo ...
- LeetCode 929 Unique Email Addresses 解题报告
题目要求 Every email consists of a local name and a domain name, separated by the @ sign. For example, i ...