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

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







 
    

你可能感兴趣的:(oracle)