Greatest and Least 的使用
最近做报表的时候突然遇到一个这样的需求:
取站点表中的a列、b列、c列的最晚时间,需要所有站点的这三个环节都完成,并且取最晚时间,如果有一个环节没有完成,时间就取null。
其中有三列时间分别为
a列 b列 c列
1 2010-2-4
2 2010-2-5
3 2010-2-6
4 2010-2-3 2010-2-3 2010-2-3
5 2010-2-3 2010-2-3 2010-2-3
6 2010-2-3 2010-2-3 2010-2-3
7 2011-1-2 2011-1-2 2011-1-2
8 2011-1-1 2011-1-3
第一种思路是先分别求a,b,c三列的最大值,然后再比较a,b,c三列中的最大时间。
select greatest(max(cw.a),
max(cw.b),
max(cw.c)
)
from 表 cw
这样就得到a,b,c三列中最大的时间。
注意:greatest函数,例greatest(a,b,c),如果a,b,c当中有任一值为null,greatest就会取值为null
由于max函数求最大时间直接取最大的时间了,而要求是如果时间有null就取null值,而不是取最大时间,于是就需要做特殊处理了。
可以先将null转为最大时间如'2999-01-01',这样调用max如果b列就有null值就会取到最大值'2999-01-01',然后再将最大时间转为null即可。
select case when max(nvl(cw.b,to_date('2999-01-01','yyyy-mm-dd'))) = to_date('2999-01-01','yyyy-mm-dd') then null
else max(nvl(cw.b,to_date('2999-01-01','yyyy-mm-dd'))) end
from 表 cw
附:
SELECT id, chinese, math, english,
greatest(chinese, math, english) max,
least(chinese, math, english) min
FROM tb;
ID CHINESE MATH ENGLISH MAX MIN
---------- ---------- ---------- ---------- ---------- ----------
1001 89 98 87 98 87
1002 81 87 79 87 79
Greatest and Least 的使用相关推荐
- 转:Oracle greatest函数
格式: greatest( expr1, expr2, ... expr_n ) expr1, expr2, . expr_n 可以值也可以是函数. 函数功能: 取得值最大值. 影响版本: Oracl ...
- [2010山东ACM省赛] Greatest Number(数的组合+二分搜索)
Greatest Number Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Saya likes math, because ...
- The greatest happiness 2019-11-13
One of the greatest happiness of a person is to devote himself to a career that he is interested in. ...
- oracle 中least,ORACLE 内置函数之GREATEST和LEAST
Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...
- ORACLE 内置函数之 GREATEST 和 LEAST(转)
Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...
- CodeForces - 1486C2 Guessing the Greatest (hard version)(二分+交互)
题目链接:点击查看 题目分析:给出一个长度为 nnn 的序列,现在可以进行最多 202020 次查询,每次查询可以询问区间 [l,r][l,r][l,r] 中次大值的位置,现在要求在查询后输出最大值的 ...
- oracle中的greatest,ORACLE 内置函数之 GREATEST 和 LEAST(转)
Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESC ...
- ZOJ 2432 Greatest Common Increasing Subsequence(最长公共上升子序列+路径打印)
Greatest Common Increasing Subsequence 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problem ...
- oracle+greatest+max,ORACLE 内置函数之 GREATEST 和 LEAST(求多列的最大值,最小值)
转载自:http://dlblog.iteye.com/blog/1274005 Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不 ...
- oracle中 greatest、east、coalesce
一. greatest 1. 语法 greatest( expr1, expr2, ... expr_n ) expr1, expr2, . expr_n 可以值也可以是函数. 2. 功能 取得值 ...
最新文章
- 我的erlang TCP服务器
- Linux中的Screen命令使用技巧详解
- FastCGI模块(FastCGI)
- ***S 2012 交互式报表 -- 钻取式报表
- Java IO流之普通文件流和随机读写流区别
- 征战蓝桥 —— 2013年第四届 —— C/C++A组第3题——振兴中华
- java log4jhelper_log4j的使用
- 20080331 - What is a PID, How is it useful when troubleshooting a system
- MATLAB目标检测恒虚警技术,一种自适应的恒虚警率目标检测方法
- 华为MatePad 11开启预售:鸿蒙OS加持 2499元起!
- Arrays工具类的常用方法
- 微型计算机的软件系统分成,会计电算化辅导:微型计算机软件系统
- 【PCL自学:Feature7】基于转动惯量和偏心量的描述符 (持续更新)
- 7-20 打印九九口诀表 (15 分) 下面是一个完整的下三角九九口诀表:
- 最简单的P2P加密聊天软件开发准备
- new Integer()与 Integer.valueOf()区别和联系
- 智能振弦传感器的读取工具振弦采集仪
- idea添加自定义插件仓库 灵狐插件、阿里代码规约插件安装idea插件推荐
- HDU2036 改革春风吹满地
- 自动投票系统【二】模拟登录提交