关于ROW_NUMBER函数的使用(The use of ROW_NUMBER function )
1、用于删除重复记录(The use of to delete the common record)
例子:(Example)
#1初始化数据(Initialize the data)
CREATE TABLE #tmp1 ( id int, name nvarchar(20), age int );
INSERT INTO #tmp1 VALUES(1,'CangoWu',25)
INSERT INTO #tmp1 VALUES(2,'CangoWu',25)
INSERT INTO #tmp1 VALUES(3,'CangoWu',25)
INSERT INTO #tmp1 VALUES(4,'Ajay',29)
INSERT INTO #tmp1 VALUES(5,'Ajay',29)
INSERT INTO #tmp1 VALUES(6,'Ajay',29)
#2操作SQL(T-SQL)
--操作前(Before the operation)
SELECT * FROM #tmp1
id name age
1 CangoWu 25
2 CangoWu 25
3 CangoWu 25
4 Ajay 29
5 Ajay 29
6 Ajay 29
--操作后(After the operation)
SELECT name,age FROM
(
SELECT *,ROW_NUMBER() OVER(PARTITION BY name ORDER BY id) row FROM #tmp1
)tmp
WHERE row = 1
name age
Ajay 29
CangoWu 25
2、记录相同字段不重复显示(The record fields repeat same display)
例子:(Example)
#1初始化数据(Initialize the data)
CREATE TABLE #tmp2 ( id int, name nvarchar(20), age int, month int, salary int );
INSERT INTO #tmp2 VALUES(1,'CangoWu',25,1,2500)
INSERT INTO #tmp2 VALUES(2,'CangoWu',25,2,2500)
INSERT INTO #tmp2 VALUES(3,'CangoWu',25,3,2500)
INSERT INTO #tmp2 VALUES(4,'CangoWu',25,4,2500)
INSERT INTO #tmp2 VALUES(5,'CangoWu',25,5,2500)
INSERT INTO #tmp2 VALUES(6,'CangoWu',25,6,2500)
INSERT INTO #tmp2 VALUES(11,'Preston',35,1,8000)
INSERT INTO #tmp2 VALUES(12,'Preston',35,2,8000)
INSERT INTO #tmp2 VALUES(13,'Preston',35,3,8000)
INSERT INTO #tmp2 VALUES(14,'Preston',35,4,8000)
INSERT INTO #tmp2 VALUES(15,'Preston',35,5,8000)
INSERT INTO #tmp2 VALUES(16,'Preston',35,6,8000)
INSERT INTO #tmp2 VALUES(21,'Ajay',29,1,5000)
INSERT INTO #tmp2 VALUES(22,'Ajay',29,2,5000)
INSERT INTO #tmp2 VALUES(23,'Ajay',29,3,5000)
INSERT INTO #tmp2 VALUES(24,'Ajay',29,4,5000)
INSERT INTO #tmp2 VALUES(25,'Ajay',29,5,5000)
INSERT INTO #tmp2 VALUES(26,'Ajay',29,6,5000)
#2操作SQL(T-SQL)
SELECT
name = (CASE WHEN row = 1 THEN name ELSE '' END)
,age = (CASE WHEN row = 1 THEN age ELSE NULL END)
,month
,salary
FROM
(
SELECT *,ROW_NUMBER() OVER(PARTITION BY name ORDER BY id) row FROM #tmp2
)tmp
name age month salary
Ajay 29 1 5000
2 5000
3 5000
4 5000
5 5000
6 5000
CangoWu 25 1 2500
2 2500
3 2500
4 2500
5 2500
6 2500
Preston 35 1 8000
2 8000
3 8000
4 8000
5 8000
6 8000
关于ROW_NUMBER函数的使用(The use of ROW_NUMBER function )的更多相关文章
- 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页
在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...
- row_number函数的使用
转 row_number函数的使用 SQL Server数据库ROW_NUMBER()函数的使用是本文我们要介绍的内容,接下来我们就通过几个实例来一一介绍ROW_NUMBER()函数的使用. 实例如下 ...
- SQL Server中row_number函数的简单用法
一.SQL Server Row_number函数简介 ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 以下是R ...
- ROW_NUMBER()函数的使用
SQL Server数据库ROW_NUMBER()函数的使用是本文我们要介绍的内容,接下来我们就通过几个实例来一一介绍ROW_NUMBER()函数的使用. 实例如下: .使用row_number()函 ...
- SQL Server数据库ROW_NUMBER()函数使用详解
SQL Server数据库ROW_NUMBER()函数使用详解 摘自:http://database.51cto.com/art/201108/283399.htm SQL Server数据库ROW_ ...
- Teradata 的rank() 和 row_number() 函数
Teradata数据库中也有和oracle类似的分析函数,功能基本一样.示例如下: RANK() 函数 SELECT * FROM salestbl ORDER BY 1,2; storeid p ...
- T-SQL利用Row_Number函数实现分页
SQL: CREATE PROCEDURE PagingViewTest ( @currentPageIndex INT, --页序号 @pageSize INT, --页大小 @pageCount ...
- 【ROW_NUMBER 函数(Transact-SQL)】
[ROW_NUMBER 函数(Transact-SQL)]返回结果集分区内行的序列号,每个分区的第一行从 1 开始. 注释: ROW_NUMBER() OVER (PARTITION BY COL1 ...
- 按某个字段来分组、编号的row_number()函数
本文参考 http://zhidao.baidu.com/link?url=8su4F16Et8Q0S3FmybwniJSI51Ms0AeVujcEXhyEaZh3u5LlOng5Xri_9zHsl7 ...
随机推荐
- JS对undefined,null,NaN判断
1.判断undefined: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) ...
- Facebook 正式开源其大数据查询引擎 Presto
Facebook 正式宣布开源 Presto —— 数据查询引擎,可对250PB以上的数据进行快速地交互式分析.该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 Faceboo ...
- 仿QQ5.0以上新版本侧滑效果
1.此效果使用了csdn大神孙国威的代码案例在此感谢附上参考博客地址: http://blog.csdn.net/manoel/article/details/39013095/#plain 2.sl ...
- ural 1494 Monobilliards
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; ],b ...
- Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...
- WPF自定义控件与样式(15)-终结篇
原文:WPF自定义控件与样式(15)-终结篇 系列文章目录 WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与 ...
- Function对象
Function对象是js中很重要的一个元素,js中所有自定义的函数都是Function对象,所以String,Number,Boolean,function等都是Function对象.所以,在使用t ...
- HDU_1426——数独问题,DFS
Problem Description 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行 ...
- You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAApcAAAB3CAIAAADZ1fxtAAAbFElEQVR4nO2dzbHDOo6FHY9S0WqqZt
- Mitsubish FX 3U PLC 串口 连接单元
前段时间遇到一个Mitsubish FX 3U PLC ,现将PLC连接单元分享一下,希望对其他人有所启示. unit PLC_MitsubishiFX; interface uses Windows ...