oracle 查询技巧、常用函数汇总(不断更新中。。)

来源:互联网 发布:php网站源码怎么修改 编辑:程序博客网 时间:2024/06/06 06:42

1、先分组后获取每组最大值

转载自:http://blog.csdn.net/wupd2014/article/details/52302614

用户每次登陆都会向表中插入一个登录日期,现在需要获取最近N位登录的用户及登陆时间,
因此现根据用户进行分组,然后在求出每组中最大的日期

SELECT a."RN",a."ID",a."USERCODE",a."LOGINTIME",a."BZ",a."DQCODE"   FROM (SELECT ROW_NUMBER() OVER(PARTITION BY usercode ORDER BY logintime DESC) rn,               sys_userlogin_info.*          FROM sys_userlogin_info) a where a.rn=1
  • 1
  • 2
  • 3
  • 4

原始的数据:
这里写图片描述

需要的数据
这里写图片描述


2、去掉字符串前面的0  (比如:000000000000300042)

LTRIM(MYPPRO_CD,'0')//  结果为:30004

3、去掉查询中的null值

NVL(SUM(MYPMSDJJ),0) //如果SUM(MYPMSDJJ)为null,则转换为0