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 --产量 ...
随机推荐
- Node.JS文件系统解析
1.Node.js 文件系统 var fs = require("fs") 2.异步和同步 读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFile ...
- 关于jQuery里面的选择器
一.JQuery选择器的概述 选择器是JQuery的根基,在JQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器. 二.选择器的优势 1.简洁的语法 2.支持CSS1.0到CSS3.0选 ...
- php 相关模块备忘
在安装php的时候,不管是编译安装: ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
- 如何在Visual Studio中开发自己的代码生成器插件
Visual Studio是美国微软公司开发的一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等,且所写的目标代码适用于微 ...
- 乱码之MyEclipse控制台
今天突然发现控制台出现乱码,查了资料解决方案不一. 我的解决方案如下: Run -> Debug Configuration... -> MyEclipse Servler -> M ...
- 在内网中OWA第一次访问速度慢的问题
当网络环境为内网时,有时访问OWA站点一直卡在Office Web App 那里. 这是因为SharePoint有一个证书需要联网检索 此环境为SharePoint 2013 通过下面的三个步骤 ...
- Snort - 配置文件
Snort.conf 版本 2.9.8.3 编译可用选项: --enable-gre --enable-mpls --enable-targetbased --enable-ppm --enable- ...
- Maltego实体分类与Transform
分类 实体类型 描述 Devices (设备类) Device 表示一个设备,如一个手机或相机. Infrastructure (基础结构类) AS 一个互联网自治系统 DNS Name 域名系统 ...
- mysql innodb 奔溃问题
ps -A | grep -i mysql kill 列出来的进程 service mysql start 我的问题就解决了 ------------------------------------- ...
- 拓展:使用终端创建、编译、链接OC…
本文介绍一下如何使用Mac OS X自带终端快速创建.编译.链接OC程序. 1.打开终端 顺序:打开Finder——应用程序——实用工具——终端 2.打开需要存放 .m 文件的路径(比如我需要放到桌面 ...