1. 对维度按照度量值的排名进行统计得分,第一名100分,第二名99分,第三名98……可以先进行排名,然后用 得分值+1,减去排名既是所得分数。

 -- 建表

 create table province_people(
city varchar2(100),
people_name varchar2(100), --姓名
sex varchar2(1) --性别 1 男 2 女 0 未知
) -- 插入数据 insert into province_people (city, people_name, sex)values ('西安', '大王', '');
insert into province_people (city, people_name, sex)values ('西安', '刘一', '');
insert into province_people (city, people_name, sex)values ('西安', '陈二', '');
insert into province_people (city, people_name, sex)values ('西安', '张三', '');
insert into province_people (city, people_name, sex)values ('西安', '李四', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '王五', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '赵六', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '孙七', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '周八', '');
insert into province_people (city, people_name, sex)values ('汉中', '吴九', '');
insert into province_people (city, people_name, sex)values ('汉中', '郑十', '');
commit; --查询结果 select * from province_people; select city, px, 101 - px
from (select city, rank() over(order by count(people_name) desc) px
from province_people
having count(people_name) > 0
group by city) t1; --按照人数排名,第一名100分,第二名99分……

2. 相同维度下,不同度量值的数据进行统计个数,可以对度量值进行稍微的转换,将所需要的度量值转换为1,然后进行汇总。

 -- 建表

 create table province_people(
city varchar2(100),
people_name varchar2(100), --姓名
sex varchar2(1) --性别 1 男 2 女 0 未知
) -- 插入数据 insert into province_people (city, people_name, sex)values ('西安', '大王', '');
insert into province_people (city, people_name, sex)values ('西安', '刘一', '');
insert into province_people (city, people_name, sex)values ('西安', '陈二', '');
insert into province_people (city, people_name, sex)values ('西安', '张三', '');
insert into province_people (city, people_name, sex)values ('西安', '李四', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '王五', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '赵六', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '孙七', '');
insert into province_people (city, people_name, sex)values ('宝鸡', '周八', '');
insert into province_people (city, people_name, sex)values ('汉中', '吴九', '');
insert into province_people (city, people_name, sex)values ('汉中', '郑十', '');
commit; --查询结果 select city,
count(people_name) num,
sum(decode(sex, 1, 1, 0)) man_num,
sum(decode(sex, 2, 1, 0)) femalel_num,
sum(decode(sex, 0, 1, 0)) null_num
from province_people
group by city; --数据经过转换,可以一次性查出各种类型的数据数量

Oracle 数据处理的更多相关文章

  1. Oracle数据处理

    DML语言             &:地址符:(PrepareStament)             批处理:插入--------一次将10号部门的员工插入新的表中:           ...

  2. oracle数据处理之逻辑备份与恢复

    逻辑备份与恢复 17.1 传统的导入导出exp/imp:传统的导出导入程序指的是exp/imp,用于实施数据库的逻辑备份和恢复. 导出程序exp将数据库中的对象定义和数据备份到一个操作系统二进制文件中 ...

  3. oracle数据处理之sql loader(三)

    数据装载 sql loader(PPT-I-490-498) 14.1 sql*loader:将外部数据(比如文本型)数据导入oracle database.(用于数据导入.不同类型数据库数据迁移) ...

  4. oracle数据处理之sql*loader(一)

    SQL*Loader是oracle提供的可以从多种平面文件中向数据库中加载数据的工具,它比较适合业务分析类型数据库(数据仓库);使用sqlldr工具可以在很短的时间内向数据库中加载大量的数据,像把制作 ...

  5. oracle数据处理之expdb/impdb

    Oracle 数据泵的使用方法 一.新建逻辑目录 最好以system等管理员创建逻辑目录,Oracle不会自动创建实际的物理目录“D:\oracleData”(务必手动创建此目录),仅仅是进行定义逻辑 ...

  6. oracle数据处理之exp/imp

    oracle 导出/导入数据方法一 exp/imp工具:1 将数据库oracle01完全导出,DBA:sys,密码:123456:用户名Scott 密码123456 导出到D:\emp.dmp中 ex ...

  7. oracle数据处理之sql*loader(二)

    目录 SQL*Loader对不同文件及格式的处理方法 2.1 Excel文件 一般的Excel文件最大行数不超过65536行,说明数据处理量并不大,处理Excel的方式是将其另存为CSV格式文件,然后 ...

  8. Oracle Day05 集合与数据处理

    1.集合 --集合操作: 并集.交集.差. select deptno,job,sum(sal) from emp group by deptno,job union select deptno,to ...

  9. Oracle入门第四天(上)——表管理与数据处理

    一.常见数据库对象 1.基本对象 对应的对象英文名参考:https://docs.oracle.com/cd/B19306_01/server.102/b14220/intro.htm#sthref6 ...

随机推荐

  1. thinkphp5.1跨模块调用控制器或者模型

    tp5.1 采用命名空间的方式进行调用.

  2. ios 容错处理AvoidCrash

    程序因为很多原因容易出现崩溃问题,比如数组越界.空字符串等造成的崩溃 // 在AppDelegate 写如下代码 初始化防止程序因数组和字符串等崩溃问题 //初始化 AvoidCrash (常用对象防 ...

  3. js原型链,作用域,闭包讲解

    当面试的时候遇到问原型链,闭包,还有作用域,直接 拿张纸和笔把原型链画出来,闭包跟作用域直接用笔写几道题出来加深理解(因为我们是理科生,图形和题目以及控制台输出结果才是最直观的方法) 问:什么是原型链 ...

  4. 05.Spring 资源加载 - Resource

    基本概念 Spring 把所有能记录信息的载体,如各种类型的文件.二进制流等都称为资源. 对 Spring 开发者来说,最常用的资源就是 Spring 配置文件(通常是一份 XML 格式的文件). S ...

  5. 002 Add Two Numbers 链表上的两数相加

    You are given two non-empty linked lists representing two non-negative integers. The digits are stor ...

  6. Java多线程与并发——进程与线程

    1.什么是进程 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念.而进程是程序在处理机上的一次执行过程,它是一个动态的概念. 进程是一个具有一定独立功能的程序,一个实体,每一个进 ...

  7. (转)不看绝对后悔的Linux三剑客之sed实战精讲

    不看绝对后悔的Linux三剑客之sed实战精讲 原文:http://blog.51cto.com/hujiangtao/1923718 二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在L ...

  8. (转)由su和su -的区别谈学习linux运维方法

    由su和su -的区别谈学习linux运维方法 原文:http://blog.51cto.com/oldboy/1053606 由su和su -的区别谈学习linux运维方法一例 老男孩Linux培训 ...

  9. asp.net web 开发中配置web.config

    一.配置数据库连接字符串 <connectionStrings> <add name="CaoLPractise" connectionString=" ...

  10. CentOS7.4搭建GitLab

    1.查看服务器环境 uname -a 2.下载安装包 [1]找到相应的最新版本的下载路径 网址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/e ...