Oracle 数据处理
2024-09-03 02:26:31
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; --数据经过转换,可以一次性查出各种类型的数据数量
最新文章
- 第3月第19天 cxx_destruct dispatch_get_main_queue()死锁
- linux 环境下安装mysql5.6
- 解决dom4j java.lang.NoClassDefFoundError: org/jaxen/JaxenException
- SRM 146 DIV1 800
- ES6新特性:利用解构赋值 (destructuring assignment), 简化代码
- CF459E Pashmak and Graph (DP?
- mongodb启动后台服务
- 线性时间的排序算法--桶排序(以leetcode164. Maximum Gap为例讲解)
- 九宫格抽奖HTML+JS版
- json数组,随便测试
- 我的wordpress插件总结
- Android应用开发学习之画廊视图
- Java基础知识强化之集合框架笔记09:Collection集合迭代器使用的问题探讨
- js压缩解压工具
- NavigationBar 隐藏底部边线,阴影
- 微信QQ的二维码登录原理浅析
- Rails (堆栈)<;数据结构>;
- springboot整合rabbitmq
- JavaScript while 循环
- jquery之冒泡事件介绍以及阻止冒泡
热门文章
- git分支主干
- [USACO1.4]等差数列 Arithmetic Progressions
- react native 安卓生产包无法获取线上数据
- Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例
- 配置文件中取值: spring配置文件中util:properties和context:property-placeholder
- 010 Regular Expression Matching 正则表达式匹配
- ubuntu apache2配置多站点
- JavaScript 给表格排序
- OpenStack local.conf
- Navicat for mysql远程连接数据库详解(1130错误解决方法)