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 --产量 ...
随机推荐
- spring mvc WebArgumentResolver不生效
WebArgumentResolver: SPI for resolving custom arguments for a specific handler method parameter. Typ ...
- 使用React并做一个简单的to-do-list
1. 前言 说到React,我从一年之前就开始试着了解并且看了相关的入门教程,而且还买过一本<React:引领未来的用户界面开发框架 >拜读.React的轻量组件化的思想及其virtual ...
- liMarquee演示12种不同的无缝滚动效果
很实用的一款liMarquee演示12种不同的无缝滚动效果 在线预览 下载地址 实例代码 <!DOCTYPE html> <html lang="zh-CN"&g ...
- jquery.datepair日期时分秒选择器
jquery.datepair是一个轻量级的jQuery插件,智能选择日期和时间范围,灵感来自于谷歌日历.Datepair将保持开始和结束日期/时间同步,并可以根据用户的操作设置默认值.该插件不提供任 ...
- 20个基于 WordPress 搭建的精美网站
WordPress 无处不在,小到人博客,大到广受欢迎的各类特色网站,你都能发现 WordPress 的影子,因为它是创建和维护一个网站最容易使用的平台. 另外,网络上有很多资源来创建你的网站,你基本 ...
- array's filter
var arr = [ { id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }, { }, { id: null }, { id: NaN ...
- 基于 Node.js 平台的web开发框架-----express
express官网:---->传送门 express express框架有许多功能,比如路由配置,中间件,对于想配置服务器的前端来说,非常便捷 自从node发展之后,基于nodejs的开发框架 ...
- HTML5 表单新增属性
1. 表单内元素的form属性 在H5中可以把form放到页面的任何地方,然后为该元素指定一个form属性,属性值为该表单的id,这样就可以声明该元素从属于指定表单了 <form id=&quo ...
- java类 对象 和构造方法
github地址:https://github.com/lily1010/java_learn/tree/master/dog java中对象和类 java中万物皆对象,比如说动物,里面有猫,狗,鱼等 ...
- 学习笔记——关于HTML(含HTML5)的块级元素和行级(内联)元素总结
1.首先我们要知道什么是块级元素和行级(内联)元素? 块级(block)元素的特点: ①总是在新行上开始: ②高度,行高以及外边距和内边距都可控制: ③宽度缺省是它的容器的100%,除非设定一个宽度: ...