Oracle 分析函数 over
最近在做一个OA系统的统计模块,里面有个功能需要统计出每天新增的用户和累计新增的用户, 只有一张 用户登录的表(用户登录时间,用户ID,等等),效果图:
分析:1,同一用户在一天之内可以登录多次,在这一天表中,会有多条这个用户的记录,但统计的时候,只能算一次
2,肯定会用登录时间分组,用户ID去重,把数据统计出来
由于是以前的项目,种种限制吧,必须用一个sql写出来,查了好久,SQL如下:
<!-- 总用户-->
<select id="datalistPage" resultType="UserTotleVo" parameterType="Page">
select daytime,xinzeng,totle from (
select daytime,xinzeng,sum(xinzeng) over(order by daytime) as totle from (
select daytime, count(distinct user_uuid) as xinzeng from(
select to_char(to_date(CREATE_TIME,'yyyy-MM-dd hh24:mi:ss'),'yyyy-MM-dd') as daytime , user_uuid
from M_LOGGING_INFO ) WHERE 1=1
<if test="pd.lastStart!=null and pd.lastStart!=''">
and daytime >= #{pd.lastStart}
</if>
<if test="pd.lastEnd!=null and pd.lastEnd!=''">
and daytime <= #{pd.lastEnd}
</if>
group by daytime order by daytime desc )) order by daytime desc </select>
两点:1,Oracle的分析函数 over
2,时间格式的转换,加个去重,正好可以统计出每天的 用户量
此微博只为记录自己的成长经历,没有关于分析函数的简介。想学习可以去:https://www.cnblogs.com/wuyisky/archive/2010/02/24/oracle_over.html
Oracle 分析函数 over的更多相关文章
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- [转]oracle分析函数Rank, Dense_rank, row_number
oracle分析函数Rank, Dense_rank, row_number 分析函数2(Rank, Dense_rank, row_number) 目录 ==================== ...
- [转]oracle 分析函数over
oracle 分析函数over 分析函数(OVER) 目录: =============================================== 1.Oracle分析函数简介 2. O ...
- oracle分析函数与over()(转)
文章参考:http://blog.csdn.net/haiross/article/details/15336313 -- Oracle分析函数入门-- 分析函数是什么? 分析函数是Oracle专门用 ...
- Oracle分析函数 — rank, dense_rank, row_number用法
本文通过例子演示了Oracle分析函数 —— rank, dense_rank, row_number的用法. //首先建score表 create table score( course nva ...
- 常用Oracle分析函数详解 [http://www.cnblogs.com/benio/archive/2011/06/01/2066106.html]
学习步骤:1. 拥有Oracle EBS demo 环境 或者 PROD 环境2. copy以下代码进 PL/SQL3. 配合解释分析结果4. 如果网页有点乱请复制到TXT中查看 /*假设一个经理 ...
- oracle分析函数技术详解(配上开窗函数over())
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Oracle分析函数——函数列表
--------------聚合函数 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算 ...
- 强大的oracle分析函数
转载:https://www.cnblogs.com/benio/archive/2011/06/01/2066106.html 学习步骤:1. 拥有Oracle EBS demo 环境 或者 PRO ...
- Oracle分析函数大全
分析函数又叫开窗函数,OLAP函数等,因为有人问我用过开窗函数没,呵,什么是开窗函数,从来没听过,难道是分析函数么.哈哈,最后还真是分析函数哦!用过的东西别名也应该知道,赶上这么个事,就剽窃一眼Ora ...
随机推荐
- Spring整合Mybatis错误解决方案
ERROR:java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransactionFactory. ...
- Python JASON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. http://www.runoob.com/python/python-json.ht ...
- JS 获取随机颜色值
获取随机颜色值 function fn1(){ return '#' + Math.floor( Math.random() * 0xffffff ).toString(16); } function ...
- java中成员变量,局部变量,静态变量的辨析
转自百度:https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc 1.java中成员变量,局部变量 ...
- js函数防抖和函数节流
参考链接:https://juejin.im/post/5b651dc15188251aa30c8669 参考链接:https://www.jb51.net/article/158818.htm 在我 ...
- Java实现JSONObject对象与Json字符串互相转换
Java实现JSONObject对象与Json字符串互相转换 JSONObject 转 JSON 字符串 Java代码: JSONObject jsonObject = new JSONObject( ...
- 每天进步一点点------创建Microblaze软核(三)
第七步 进入SDK开发环境编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录.进入SDK主界面.第八步 ...
- RTMP服务器搭建(nginx+rtmp)
参考文章:https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.5 ...
- redis持久化优缺点
- 一些常用的css
不换行 white-space:nowrap table纵向合并的单元格垂直居中 display:table-cell; vertical-align:middle; table合并横向单元格 c ...