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; --数据经过转换,可以一次性查出各种类型的数据数量

最新文章

  1. 第3月第19天 cxx_destruct dispatch_get_main_queue()死锁
  2. linux 环境下安装mysql5.6
  3. 解决dom4j java.lang.NoClassDefFoundError: org/jaxen/JaxenException
  4. SRM 146 DIV1 800
  5. ES6新特性:利用解构赋值 (destructuring assignment), 简化代码
  6. CF459E Pashmak and Graph (DP?
  7. mongodb启动后台服务
  8. 线性时间的排序算法--桶排序(以leetcode164. Maximum Gap为例讲解)
  9. 九宫格抽奖HTML+JS版
  10. json数组,随便测试
  11. 我的wordpress插件总结
  12. Android应用开发学习之画廊视图
  13. Java基础知识强化之集合框架笔记09:Collection集合迭代器使用的问题探讨
  14. js压缩解压工具
  15. NavigationBar 隐藏底部边线,阴影
  16. 微信QQ的二维码登录原理浅析
  17. Rails (堆栈)<数据结构>
  18. springboot整合rabbitmq
  19. JavaScript while 循环
  20. jquery之冒泡事件介绍以及阻止冒泡

热门文章

  1. git分支主干
  2. [USACO1.4]等差数列 Arithmetic Progressions
  3. react native 安卓生产包无法获取线上数据
  4. Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例
  5. 配置文件中取值: spring配置文件中util:properties和context:property-placeholder
  6. 010 Regular Expression Matching 正则表达式匹配
  7. ubuntu apache2配置多站点
  8. JavaScript 给表格排序
  9. OpenStack local.conf
  10. Navicat for mysql远程连接数据库详解(1130错误解决方法)