sqlserver 用 RowNumber 分组
SELECT RECORD.[RECORD_ID]
,RECORD.[WORKFLOW_INFO_ID]
,RECORD.[FORM_CODE]
,RECORD.[APPLY_DATE]
,RECORD.[APPLY_EMP_ID]
,RECORD.[APPLY_EMP_NUMBER]
,RECORD.[APPLY_EMP_NAME_EN]
,RECORD.[APPLY_EMP_NAME_CN]
,RECORD.[APPLY_EMP_EMAIL]
,RECORD.[APPLY_EMP_PHONE]
,RECORD.[APPLY_EMP_MOBILE]
,RECORD.[APPLY_EMP_POSITION_CN]
,RECORD.[APPLY_EMP_POSITION_EN]
,RECORD.[APPLY_EMP_WORK_OFFICE]
,RECORD.[APPLY_EMP_WORK_AREA_CODE]
,RECORD.[APPLY_EMP_DEPT_CODE]
,RECORD.[APPLY_EMP_DEPT_TYPE]
,RECORD.[APPLY_EMP_DEPT_IS_FUNCTIONAL]
,RECORD.[APPLY_EMP_DEPT_NAME_CN]
,RECORD.[APPLY_EMP_DEPT_NAME_EN]
,RECORD.[APPLY_EMP_DEPT_FUNC_CODE]
,RECORD.[APPLY_EMP_DEPT_FUNC_CN]
,RECORD.[APPLY_EMP_DEPT_FUNC_EN]
,RECORD.[FILLER_EMP_ID]
,RECORD.[FILLER_EMP_NUMBER]
,RECORD.[FILLER_EMP_NAME_EN]
,RECORD.[FILLER_EMP_NAME_CN]
,RECORD.[FILLER_EMP_EMAIL]
,RECORD.[FILLER_EMP_PHONE]
,RECORD.[FILLER_EMP_MOBILE]
,RECORD.[FILLER_EMP_POSITION_CN]
,RECORD.[FILLER_EMP_POSITION_EN]
,RECORD.[FILLER_EMP_WORK_OFFICE]
,RECORD.[FILLER_EMP_WORK_AREA_CODE]
,RECORD.[FILLER_EMP_DEPT_CODE]
,RECORD.[FILLER_EMP_DEPT_TYPE]
,RECORD.[FILLER_EMP_DEPT_IS_FUNCTIONAL]
,RECORD.[FILLER_EMP_DEPT_NAME_CN]
,RECORD.[FILLER_EMP_DEPT_NAME_EN]
,RECORD.[FILLER_EMP_DEPT_FUNC_CN]
,RECORD.[FILLER_EMP_DEPT_FUNC_EN]
,RECORD.[FILLER_EMP_DEPT_FUNC_CODE]
,EMP.APPROVE_EMP_ID
,EMP.APPROVE_TYPE
,EMP.EMP_NAME_CN
,EMP.EMP_NAME_EN
,EMP.EMP_NUMBER
,EMP.SOURCE_EMP_NAME_CN
,EMP.SOURCE_EMP_NAME_EN
,EMP.SOURCE_EMP_NUMBER
,Activity.ACTIVITY_NAME --活动名称
,Activity.MEETING_CATEGORY_NAME
,Activity.MEETING_CATEGORY_CODE
,Activity.ACTIVITY_JOIN_NUMBER
,Activity.START_TIME
,Activity.FINISH_TIME
,Activity.FEE
,Activity.[ACTIVITY_REGION_NAME]
,CASE WHEN(EMP.WF_ACTIVITY_NAME IS NULL) THEN
(CASE
WHEN(RECORD.RECORD_STATUS=0) THEN 'Draft'
WHEN(RECORD.RECORD_STATUS=2) THEN 'Completed'
WHEN (RECORD.RECORD_STATUS=4) THEN 'Circulation'
WHEN (RECORD.RECORD_STATUS=5) THEN 'Cancelled'
WHEN (RECORD.RECORD_STATUS=7) THEN 'Suspend' ELSE 'Unknown' END)
ELSE EMP.WF_ACTIVITY_NAME END AS CURRENT_ACTIVITY_NAME
FROM [dbo].[TSTB_COM_MS_ITEM_RECORD] RECORD
LEFT JOIN [dbo].FUN_MS_GetActivityInfo() Activity
ON RECORD.RECORD_ID = Activity.RECORD_ID
LEFT JOIN
(SELECT * , ROW_NUMBER() OVER (PARTITION BY RECORD_ID ORDER BY CREATE_DATE ) AS RN FROM [dbo].[TSTB_COM_ITEM_RECORD_APPROVE_EMP] WHERE STATUS=1 AND APPROVE_TYPE<>2 AND WORKFLOW_PREFIX='MS')
AS EMP ON RECORD.RECORD_ID=EMP.RECORD_ID AND EMP.RN=1
WHERE RECORD.STATUS=1 and RECORD.RECORD_STATUS<>5
sqlserver 用 RowNumber 分组的更多相关文章
- sqlserver 存储过程 递归查询分组+hierarchyid重建会员关系
CREATE PROCEDURE [dbo].[GetGroupInfo] @s_code NVARCHAR() = --会员卡号 AS BEGIN declare @p int; --查询唯一性结果 ...
- MySQL数据中分级分组显示数据
前面已经有了SqlServer数据分级分组显示数据了.今天又来做一个MySQL数据库中的分级分组显示,SqlServer中用到了递归,这里为了简单就直接把根的数据显示为0 ,而不用递归了. 在MySQ ...
- 【.net core 入坑】.net core 3.0 报错:在 FETCH 语句中选项 NEXT 的用法无效
目录 1.事故现场: 2.分析及解决方案: 1.事故现场: 在项目中使用.net core 3.0,在EF链接sqlserver2008,在程序中使用了分页用的skip和take,程序报错: 在 FE ...
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法,先分组,然后在组内排名,分组计算,主表与附表一对多取唯一等
ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法 今天在使用多字段去重时,由于某些字段有多种可能性,只需根据部分字段进行去重,在网上看到了row ...
- SQLSERVER中按年月分组
SQLSERVER中按年月分组 一个表有三个字段id,dt,d 分别存放id,时间,数值 id dt d 1 2004-08-11 12:12:00.000 9 2 2005-09- ...
- SQLServer 分组查询相邻两条记录的时间差
原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操 ...
- SqlServer 对分组的内容进行拼接-group_concat
SqlServer 对分组的内容进行拼接: 方案1:xml 子集,性能较差 方案2:借助 sqlCLR 接入.实现group_concat.性能完美,但是 阿里云的不支持!!!! CREATE TA ...
- MYSQL-实现分组排序 对比 ORACLE 和SQLserver用 row_number() over(partition by ) 分组排序功能
以下是个人笔记: 本文是为了理解 row_number() over(partition by ) 和实现各种数据库的分组排序功能 select ROW_NUMBER()over( partitio ...
- SQLServer 行转列,统计,二次分组
create table test ( bizdate datetime, --日期 classes varchar(50), --班次 '白班' 或 '夜班' qty int --产量 ...
随机推荐
- mybatis同时启用mapperscanner和传统DAO
在通过MapperScannerConfigurer启用了mybatis的映射器之后,默认情况下,在basePackage下的所有接口类都会被无条件的自动代理,如下所示: <!--mapper ...
- 硬连接与软连接,inode与links
硬连接和软连接,第一感觉就像是window的快捷方式,实则不然 要说硬连接和软连接,那就必须了解inode和block以及分区了 EXT文件系统在创建分区的时候,就划分了两块区域,inode tabl ...
- 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试
决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...
- ClockPicker – 时钟风格 Bootstrap 时间选择器
ClockPicker 是国内前端开发者发布的一个时钟样式 Timepicker,可以用于 Bootstrap 和 jQuery.所有主流浏览器都支持,包括 IE9+,支持移动设备,能够在触摸屏设备很 ...
- Tomcat部署记事
1.导入证书到jdk里 keytool -import -alias 证书名称 -file 证书地址 -keystore 导入位置 例:keytool -import -alias co3 -file ...
- JavaScript学习笔记-基础语法、类型、变量
基础语法.类型.变量 非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或 ...
- 27款后台管理页面设计 DIV+CSS+JS
-----------. 演示: http://www.websjy.com/club/websj ... _61040268/index.htm http://www.websjy.com/club ...
- 微信小程序管理后台介绍
微信小程序的管理后台,每次进入都需要扫码,还是特别不爽,现在微信小程序还没正式发布,很多人都还没看到管理后台,这里抢先发布出来 ------------------------------------ ...
- Java Collection Framework概述
文章出自:听云博客 Collection概述 Java collection是java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等. Java集合主要可以划分为4个部分:Li ...
- 深入理解Objective-C Runtime
一.简介 主要特点: 在OC语言中,函数的调用是属于动态调用的,编译阶段并不确定要调用的函数,在真正的运行时才会根据函数名查找要调用哪个函数. 而在C语言中,函数的调用是在编译阶段就已经确定要调用哪个 ...