over开窗函数的用法
select row_number() over(partition by deptid order by salary) my_rank ,deptid,USERID,salary from tsaler;
public List<Map> getInstitutionsrela(String companycode) {
Map map = new HashMap();
String type= ""+ChangeLog.TYPE_CCZT.getEnumItemValue()+","+ChangeLog.TYPE_MBQY.getEnumItemValue()+","+ChangeLog.TYPE_ZXAP.getEnumItemValue()+","+ChangeLog.TYPE_DLJDR.getEnumItemValue()+"," +
""+ChangeLog.TYPE_XPJG.getEnumItemValue()+","+ChangeLog.TYPE_FLJG.getEnumItemValue()+","+ChangeLog.TYPE_SJJG.getEnumItemValue()+","+ChangeLog.TYPE_GWJG.getEnumItemValue()+"," +
""+ChangeLog.TYPE_TGR.getEnumItemValue()+","+ChangeLog.TYPE_XTJG.getEnumItemValue()+"";
StringBuilder sql = new StringBuilder();
sql.append("select p.objid as productid,\n" +
" p1.objid as instiid,\n" +
" p.name as productname,\n" +
" decode( p3.name,null,p1.name,p3.name ) instiname , \n" +
" decode(p.isend,1,'已到期','未到期') as isendname,\n" +
" nvl(p.nowamount,0) nowamount,\n" +
" p4.name as typename \n" +
"from pm_product p\n" +
"inner join (\n" +
" select c1.pmid,d1.type,e1.objid,e1.name,e1.parentinstitution,row_number() over(partition by c1.pmid,d1.type,e1.objid order by e1.objid ) pinum " +
" from("+Institutions.getQuerySql("objid","companycode","sourcedb","parentinstitution","name")+") e1\n" +
" left join ("+YsInstitutionsRela.getQuerySql("institutionsid","changelogid","removetag","type","sourcedb")+") d1\n" +
" on e1.objid = d1.institutionsid and e1.sourcedb = d1.sourcedb\n" +
" left join ("+YsChangeLog.getQuerySql("pmid","objid","datastatus","sourcedb")+") c1 \n" +
" on d1.changelogid = c1.objid and c1.sourcedb = d1.sourcedb and d1.removetag = 0\n" +
" where c1.datastatus = 0 \n" );
QueryUtils.build("=","e1.companycode",companycode,sql,map);
QueryUtils.buildIn("d1.type",type.split(","),sql,map);
sql.append(")p1 on p1.pmid = p.sourceid and p1.pinum=1\n" +
"left join sirm_entitysetting p3 on p3.sourceid = p1.objid and p3.value = p1.parentinstitution " +
"and p3.sourceentity = 'PMYSINSTITUTIONSRELA'and p3.name = 'parentInstitution' \n" +
"left join sirm_enum p4 \n" +
"on p1.type=p4.value \n" +
"and p4.catalog='PROJECT'and p4.type='insttype'\n" +
"where p.removetag = 0 \n" +
"and p.currentpool = 1 order by p.isend, p.nowamount desc\n");
IMetaDBQuery query = getMetaDBContext().createSqlQuery(sql.toString());
query.setParameters(map);
List<Map> list = query.getResult();
return list;
}
over开窗函数的用法的更多相关文章
- 开窗函数Over用法
比如我们有这个表: 销售记录表 日期 姓名 产品 销售额 201601 A 电脑 12560 201601 A 手机 6501 201601 A 平板 8510 201602 A 手机 1560 20 ...
- oracle 高级用法, DECODE 排序, OVER(PARTITION BY X ORDER BY Y DESC) 开窗函数
场景 01 (IN 语句 排序 decode() 函数): 1,我们在查询中会经常使用这样的用法, select * from table_name t where t.id in (1, 3, 7, ...
- SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数
Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下: ...
- sql server ,OVER(PARTITION BY)函数用法,开窗函数,over子句,over开窗函数
https://technet.microsoft.com/zh-cn/library/ms189461(v=sql.105).aspx https://social.msdn.microsoft.c ...
- (MariaDB)开窗函数用法
本文目录: 1.1 窗口和开窗函数简介 1.2 OVER()语法和执行位置 1.3 row_number()对分区排名 1.4 rank()和dense_rank() 1.5 percent_rank ...
- sqlserver开窗函数在财务对账中的用法
曾几何时发现开窗函数在财务对账总特别好用.但是每次可能很久没用,逻辑都要重头来过.特此留一份完整的思考逻辑待日后参考. 以下是数据源: 从上面的数据可以看到通过C列,那么只需要两个条件即可获得已经用对 ...
- 开窗函数 First_Value 和 Last_Value
在Sql server 2012里面,开窗函数丰富了许多,其中带出了2个新的函数 First_Value 和 Last Value .现在来介绍一下这2个函数的应用场景. 首先分析一下First_Va ...
- Oracle开窗函数 over()(转)
copy文链接:http://blog.csdn.net/yjjm1990/article/details/7524167#,http://www.2cto.com/database/201402/2 ...
- SQL SERVER:开窗函数 SUM() OVER() 数据统计中一例使用
由于前一段时间胃痛,导致博客园博客都停更了一个月左右.近几天,胃病终于稍微有所好转,决定重新写博文. 前几天,有个朋友刚好问到本人有关 SQL 语句,大致是原表有两列,分别为月份.月份销售额,而需要一 ...
随机推荐
- js如何设置一个倒计时
//申明一个定时器 let endInterval; //结束时间(毫秒数,这里是距离 1970 年 1 月 1 日至今的毫秒数) let endSeconds; //结束时间差 const ENDT ...
- win10下clodeblocks编译C语言乱码
打开settings->compile,在other compiler options添加下面两行代码: -fexec-charset=GBK-finput-charset=UTF-8
- SharePoint Tricks
1. 64位IE浏览器无法使用Open with Explorer功能,而且会直接用浏览器去打开office文件(不管是否选择使用客户端打开) 2. 对于 large list or library, ...
- sql server性能分析--执行sql次数和逻辑次数
目前在做一个项目优化时,想通过数据库层分析sql server系统性能,查了一下网上代码,修改了一下标题和DMVs代码,以下代码可以用来分析系统运行一段时间后,那些语句是系统忙的sql语句.做为参考. ...
- (六)svn 服务器端使用之权限管理
权限管理(了解) 认证授权机制 在企业开发中会为每位程序员.测试人员等相关人员分配一个账号,用户通过使用svn客户端连接svn服务时需要输入账号和密码,svn服务对账号和密码进行校验,输入正确可以继续 ...
- 安装字体或直接调用非注册字体 z
1.安装字体//程序直接将字体文件安装的系统中.函数声明:[DllImport("kernel32.dll", SetLastError = true)] static exter ...
- idea打jar包经验总结
关于在idea下打jar问题,在日常工作中经常用到,这里总结下流程. 1.在项目上鼠标右键 --> Open Module Settings 2.如下图,点击 '+' 3. 选择JAR --&g ...
- 给Sublime text 3增加选中当前单词快捷键
1.录制一份macro caret on a word –> ctrl+left –> ctrl+shift+right 2.将录制好的macro保存为select_current_wor ...
- 「C基础」位运算
0. 原码.补码.反码 初学者只做了解即可 见 张子秋的博客 无论正负数,在内存中存储的都是补码 正数:反码 == 原码 == 补码 负数:反码 == ~原码 补码 == 反码+1 1. & ...
- Snippets代码块分享网站
复习时,看老师之前贴在网上的一些代码,顺便搜集了一些代码块Snippets分享网站 http://paste.ubuntu.com/ 简约简单,一如既往Linux风,我之前用的也是这款,但已转gite ...