Oracle 简单统计示例
有数据如下:
eg1:现在需要统计所有男性人员数量,所有女性人员数量,sclassno=10000的男性人员的总年龄,年龄大于20的女性人员数量
----sign( number )
/*If number < 0, then sign returns -1.
If number = 0, then sign returns 0.
If number > 0, then sign returns 1*/
select count(decode(t.sgender, 'M', 1, null)) "男性人员数量",
count(decode(t.sgender, 'F', 1, null)) "女性人员数量",
sum(decode(t.sclassno, '', decode(t.sgender, 'M', t.sage, 0), 0)) "10000的男性人员的总年龄",
count(decode(t.sgender,
'F',
decode(sign(t.sage - 20), 1, 1, null),
null)) ">20女性数量",
--另一种写法
count(decode(t.sgender,'F',(case when t.sage > 20 then 1 else null end),null)) ">20女性数量"
from l_student_info_tbl t;
eg2:统计每个班级人员的男女数量,总年龄
select t.sclassno "班级",
count(decode(t.sgender, 'M', 1, null)) "男性人员数量",
count(decode(t.sgender, 'F', 1, null)) "女性人员数量",
sum(decode(t.sgender, 'M', t.sage, 0)) "男性总年龄",
sum(decode(t.sgender, 'F', t.sage, 0)) "女性总年龄"
from l_student_info_tbl t
group by t.sclassno
Oracle 简单统计示例的更多相关文章
- Python实现简单中文词频统计示例
简单统计一个小说中哪些个汉字出现的频率最高: import codecs import matplotlib.pyplot as plt from pylab import mpl mpl.rcPar ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- Oracle自动性能统计
Oracle自动性能统计 高效诊断性能问题,需要提供完整可用的统计信息,好比医生给病人看病的望闻问切,才能够正确的确诊,然后再开出相应的药方.Oracle数据库为系统.会话以及单独的sql语句生成 ...
- hadoop环境安装及简单Map-Reduce示例
说明:这篇博客来自我的csdn博客,http://blog.csdn.net/lxxgreat/article/details/7753511 一.参考书:<hadoop权威指南--第二版(中文 ...
- EasyHook远注简单监控示例 z
http://www.csdn 123.com/html/itweb/20130827/83559_83558_83544.htm 免费开源库EasyHook(inline hook),下面是下载地址 ...
- ORACLE收集统计信息
1. 理解什么是统计信息 优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: · ...
- Oracle简单的备份和恢复-导出和导入(1)
ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(1) Oracle简单的备份和恢复-导出和导入 1. 用户导出自己的表(emp,dept)返回顶部 1.1, 我们启动Oracl ...
- Oracle简单的备份和恢复-导出和导入(2)
ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(2) 简单的备份和恢复-导出和导入(2) 1. 用户导入导出文件中的一张表(emp)返回顶部 0.1, 我们在sql plus中 ...
随机推荐
- Django 无法通过request.POST.get()获取数据的问题
原来是contentType为application/json时,Django不支持request.POST.get(),但可以通过request.body来获取string类型的参数: data = ...
- [Java聊天室server]实战之三 接收循环
前言 学习不论什么一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列尽管涉及的是socket相关的知识.但学习之前,更 ...
- AJAX 获取Servlet文件路径
下面均不行: xmlRes.open("get","edu/hust/ajax/TestServlet",true); xmlRes.open("ge ...
- smbsh - 允许用UNIX命令访问NT文件系统
总览 smbsh 描述 此程序是Samba套件的一部分. smbsh允许你用UNIX命令诸如ls,egrep和rcp等来访问NT文件系统.必须用动态链接的shell以便使smbsh工作正常. 从命令提 ...
- IDS4授权分析
一.授权过程的场景名词 RO (resource owner): 资源所有者:用户. Resource Owner:简单理解为资源拥有者,文中称“user”: RS (resource server) ...
- go语言学习之从例子开始
[目录] go语言从例子开始之Example1.helloworld go语言从例子开始之Example2.类型 go语言从例子开始之Example3.变量 go语言从例子开始之Example4.常量 ...
- Java并发(基础知识)—— 阻塞队列和生产者消费者模式
1.阻塞队列 Blocki ...
- linux的iptables设置---防火墙
1.首先介绍一下指令和相关配置文件 启动指令:service iptables start 重启指令:service iptables restart 关闭指令:service iptables st ...
- MAT in eclipse - memory analyzer
In Help > Install New Software..., enter the following update site URL: http://download.eclipse.o ...
- rabbitmq 从channal获得socket
std::string queue_name = "hello100"; AmqpClient::Channel::ptr_t channel = AmqpClient::Chan ...