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 )的更多相关文章

  1. 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

    在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...

  2. row_number函数的使用

    转 row_number函数的使用 SQL Server数据库ROW_NUMBER()函数的使用是本文我们要介绍的内容,接下来我们就通过几个实例来一一介绍ROW_NUMBER()函数的使用. 实例如下 ...

  3. SQL Server中row_number函数的简单用法

    一.SQL Server Row_number函数简介   ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 以下是R ...

  4. ROW_NUMBER()函数的使用

    SQL Server数据库ROW_NUMBER()函数的使用是本文我们要介绍的内容,接下来我们就通过几个实例来一一介绍ROW_NUMBER()函数的使用. 实例如下: .使用row_number()函 ...

  5. SQL Server数据库ROW_NUMBER()函数使用详解

    SQL Server数据库ROW_NUMBER()函数使用详解 摘自:http://database.51cto.com/art/201108/283399.htm SQL Server数据库ROW_ ...

  6. Teradata 的rank() 和 row_number() 函数

    Teradata数据库中也有和oracle类似的分析函数,功能基本一样.示例如下: RANK() 函数   SELECT * FROM salestbl ORDER BY 1,2; storeid p ...

  7. T-SQL利用Row_Number函数实现分页

    SQL: CREATE PROCEDURE PagingViewTest ( @currentPageIndex INT, --页序号 @pageSize INT, --页大小 @pageCount ...

  8. 【ROW_NUMBER 函数(Transact-SQL)】

    [ROW_NUMBER 函数(Transact-SQL)]返回结果集分区内行的序列号,每个分区的第一行从 1 开始. 注释: ROW_NUMBER() OVER (PARTITION BY COL1 ...

  9. 按某个字段来分组、编号的row_number()函数

    本文参考 http://zhidao.baidu.com/link?url=8su4F16Et8Q0S3FmybwniJSI51Ms0AeVujcEXhyEaZh3u5LlOng5Xri_9zHsl7 ...

随机推荐

  1. bat(传参情况下)取得当前bat所在的目录路径

    在传参情况下,取得bat文件所在的目录路径,可以使用: %~dp0 说明: 01.所谓传参情况是指,将某个文件拖放到bat文件上并放开.此种情况下执行的bat命令就是有带参数的. 02.上面末尾的0是 ...

  2. wifi钓鱼教程

    关于 <原创>想钓鱼必须还要有好竿wifi学习教程+软件下载地址修正 因为最近网盘维护 导致资源无法下载 今天早上开通下载服务了大家可以放心下载. 蹭网要低调不要炫耀 软件介绍:Wires ...

  3. Baidu Map Web API 案例

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  4. Android 用户登录

    1:服务端代码如下 <?php /** *登录成功就返回 1,否则返回 0 */ $REQUEST_METHOD=$_SERVER['REQUEST_METHOD']; if($REQUEST_ ...

  5. ural 1723 Sandro's Book

    http://acm.timus.ru/problem.aspx?space=1&num=1723 #include <cstdio> #include <cstring&g ...

  6. 理解ATL中的一些汇编代码(通过Thunk技术来调用类成员函数)

    我们知道ATL(活动模板库)是一套很小巧高效的COM开发库,它本身的核心文件其实没几个,COM相关的(主要是atlbase.h, atlcom.h),另外还有一个窗口相关的(atlwin.h), 所以 ...

  7. 2012高校GIS论坛

    江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...

  8. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)

    A.珠 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20(NOIP模拟赛Day1)/珠 题解:sb题, ...

  9. sigaction 用法实例

    sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作). 他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该 ...

  10. Red Gate - SQL Source Control实现对SQL SERVER 的源代码控制

    原文地址:http://bbs.csdn.net/topics/350165431 SQL Server 一直没有一款很好的源码控制器,之前自己曾尝试自己写一个,将所有的 脚本 自动生成到某一目录下, ...