select p.province, data.existUserCount, data.addUserCount, data.cancelUserCount, data.threedayCancelUserCount
, data.addUserCount-data.cancelUserCount realAddUserCount
, to_char(decode(data.existUserCount+data.cancelUserCount,0,0.00,round(data.cancelUserCount*100/(data.existUserCount+data.cancelUserCount),2)),'fm990.00')|| '%' 流失率
, to_char(decode(data.addUserCount,0,0.00,round((data.addUserCount-data.cancelUserCount)*100 /data.addUserCount,2)),'fm990.00')|| '%' 产品留存率
from (select pro.pro_province_name province from m_province pro where pro.pro_is_show = 1) p
left join
(select o.ord_user_province province,
sum(case when o.ord_status = 210 and o.ord_success_time <= to_date('2015-08-05 00:00:00','yyyy-mm-dd hh24:mi:ss') then 1 else 0 end) as existUserCount,
sum(case when o.ord_status = 210 and o.ord_success_time > to_date('2015-08-04 00:00:00','yyyy-mm-dd hh24:mi:ss')
and o.ord_success_time <= to_date('2015-08-05 00:00:00','yyyy-mm-dd hh24:mi:ss')then 1 else 0 end) as addUserCount,
sum(case when o.ord_status = 999 and o.ord_ret_success_time > to_date('2015-08-04 00:00:00','yyyy-mm-dd hh24:mi:ss')
and o.ord_ret_success_time <= to_date('2015-08-05 00:00:00','yyyy-mm-dd hh24:mi:ss')then 1 else 0 end) as cancelUserCount,
sum(case when o.ord_status = 999 and o.ord_ret_success_time < o.ord_success_time + 3 and
o.ord_success_time > to_date('2015-08-04 00:00:00','yyyy-mm-dd hh24:mi:ss')
and o.ord_success_time <= to_date('2015-08-05 00:00:00','yyyy-mm-dd hh24:mi:ss')then 1 else 0 end ) as threedayCancelUserCount
from t_order_info o group by o.ord_user_province) data on data.province = p.province
order by p.province ;

select round(0.0123,2) || '%' from dual;

select to_char(round(0,2),'fm990.00')|| '%' from dual;

sql函数应用例子的更多相关文章

  1. SQL函数说明大全

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  2. SQL函数说明大全 (转)

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  3. sql函数(转)

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  4. SQL函数介绍

    http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用 ...

  5. SQL server学习(二)表结构操作、SQL函数、高级查询

    数据库查询的基本格式为: select ----输出(显示)你要查询出来的值 from -----查询的依据 where -----筛选条件(对依据(数据库中存在的表)) group by ----- ...

  6. oracle创建函数和调用存储过程和调用函数的例子(区别)

    创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...

  7. [转] SQL函数说明大全

    from http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据, ...

  8. mysql学习笔记—常用sql函数

    SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...

  9. SQL-W3School-函数:SQL 函数

    ylbtech-SQL-W3School-函数:SQL 函数 1.返回顶部 1. SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function ...

随机推荐

  1. NOIP2016天天爱跑步 题解报告【lca+树上统计(桶)】

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 nn个 ...

  2. Linux内核分析第五周——扒开系统调用的“三层皮”(下)

    Linux内核分析第五周--扒开系统调用的"三层皮"(下) 李雪琦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.1 ...

  3. Spring MVC入门示例

    1.新建一个Java Web项目 2.导入jar包 3.在WEB-INF下面建一个hello.jsp页面. <%@ page language="java" import=& ...

  4. HDU4003 树形DP

    题意 :给一棵n个节点的树, 节点编号为1~n, 每条边都有一个花费值.        有k个机器人从S点出发, 问让机器人遍历所有边,最少花费值多少? 这题最难的地方应该就是如何定义状态了 定义dp ...

  5. Httpclient与RestTemplate的比较(比httpClient更优雅的Restful URL访问)

    一.HttpClient (一)HttpClient 客户端 1.HttpClient 是 apache 的开源,需要引入两个包:httpclient-4.2.4.jar 和 httpcore-4.2 ...

  6. Linux安全之SYN攻击原理及处理

    TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议,但TCP协议中也存在一些缺陷. SYN攻击就是利用TCP协议的缺陷,来导致系统服务停止正常的响应. SYN攻击原理 ...

  7. shell 脚本判断linux 的发行版本

    原文vi ./Get_Dist_Name.sh #!/bin/bash Get_Dist_Name() { if grep -Eqii "CentOS" /etc/issue || ...

  8. SpringBoot(五) :spring data jpa 的使用

    原文出处: 纯洁的微笑 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法 ...

  9. [LeetCode] 30. Substring with Concatenation of All Words ☆☆☆

    You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...

  10. node.js的安装配置——前端的配置

    最近琢磨了以下node.js的安装,npm的配置,使用gulp watch监听index.html文件的修改,利用服务器打开网页. 打开自己写的网页不要本地双击打开,这样打开的网址是file:///E ...