使用 row_number() over (partition by 要去重的字段 order by 排序字段)

数据库表结构 学生成绩表 UserGrade

Id        int              Checked     主键Id
Name   varchar(50) Checked     学生名
Course varchar(50) Checked     课程名
Score   int             Checked      分数

有如下数据,

1001 李四 英语 100

1000 张三 语文 80

1004 李四 数学 60

1005 李四 语文 80

1008 张三 英语 60

1007 王五 数学 30

 1006 王五 语文 50 

1003 王五 英语 50 

1002 张三 数学 90 

 


要获取学生名并去重
select name from (
select name ,row_number() over ( partition by name order by score) rn from UserGrade )as s
where rn=

其实就是根据名称进行分组取每组中的第一个

select name ,row_number() over ( partition by name order by score) rn from UserGrade

查询结果为
李四1
李四  2
 李四  3
 王五  1
 王五  2
 王五  3
 张三  1
 张三  2
 张三  3

 

sql server 根据字段去重的更多相关文章

  1. Sql Server 增加字段、修改字段、修改类型、修改默认值(转)

    转:http://www.cnblogs.com/pangpanghuan/p/6432331.html Sql Server 增加字段.修改字段.修改类型.修改默认值 1.修改字段名: alter ...

  2. SQL Server为字段添加默认值

    SQL Server为字段添加默认值 if not exists ( select * from sys.columns as c join sys.objects as o on c.default ...

  3. sql server数据库字段名要注意不能叫file

    sql server数据库字段名要注意不能叫file 如java 中  private string  file,这是sql 的关键字

  4. 关于TP3.2框架读取Sql server中文字段数据以及处理乱码的一些小心得

    最近要做一个项目,需要使用TP3.2框架,之前什么也不会,就硬着头皮上了,结果真的闹了挺多emmmmmm挺低级的错误,就像SQL Server中文字段的读取,一开始我是照着读取英文字段的格式来写的,在 ...

  5. SQL Server数据库字段类型说明

    SQL Server数据库字段类型说明 目前Sql Server 数据库一共有X个字段类型,大体分为9类,分别是字符串类型.二进制码字符串数据类型.Unincode字符串数据.整数类型.精确数据类型. ...

  6. 在英文版操作系统中安装的MS SQL server,中文字段无法匹配

    在英文版的操作系统中安装的MS SQL server,会出现中文字段无法被匹配到.其原因在于英文环境下安装的MS SQL server的排序规则不包括中文. 所以解决办法就是更改MS SQL serv ...

  7. sql server日期字段值的比较

    sql server中对日期字段值的比较 sql server中对日期字段的比较方式有多种,介绍几种常用的方式:用northwind库中的employees表作为用例表.1.between...and ...

  8. SQL Server 的字段不为NULL时唯一

    CREATE UNIQUE NONCLUSTERED INDEX 索引名称ON 表名(字段) WHERE 字段 is not null SQL Server 2008+ 支持

  9. (轉載)sql server xml字段的操作

    原文轉自:http://blog.csdn.net/hliq5399/article/details/8315373 另外可參考:https://msdn.microsoft.com/en-us/li ...

随机推荐

  1. Lua语法要点2

    [Lua语法要点2] 1.Lua函数 function 可以添加 local 关键字.添加后为局部函数,不添加(默认)为全局函数.return 可以返回多个返回值,以, 分隔. 使用 ... 来表示变 ...

  2. Jupyter notebook 中常用的快捷键

    1.注释和缩进 注释一行或多行: Ctrl + / 多行同时缩进:Tab 或者 Ctrl + ] 多行取消缩进: Shift + Tab 或者 ctrl + [ 2.编辑和运行 Enter : 转入编 ...

  3. 性能测试基础---jmeter函数二次开发

    Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...

  4. 文件操作b模式

    不能制指定编码 二进制写操作的两种方式 closed 文件是否打开 encoding 文件的打开编码 flush() 刷新:将写的内容保存起来 tell() 当前光标位置在哪里 seek()控制光标移 ...

  5. css 布局 一中一右

    .container { position: relative; .my-center { text-align: center; line-height: 30rpx; min-width: 400 ...

  6. LeetCode 348. Design Tic-Tac-Toe

    原题链接在这里:https://leetcode.com/problems/design-tic-tac-toe/ 题目: Design a Tic-tac-toe game that is play ...

  7. Babel7 转码

    ES6 (ES2015)更新了很多新的js语法, 也添加了一些新的API, 但不是所有的浏览器对这些新特性都支持的很好, 通过babel可以高版本的js转成低版本的js (ES 5.1), 同时对于J ...

  8. 趣谈Linux操作系统学习笔记:第二十七讲

    一.文件系统的功能规划 1.引子 咱们花了这么长的时间,规划了会议室管理系统,这样多个项目执行的时候,隔离性可以得到保证. 但是,会议室里面被回收,会议室里面的资料就丢失了.有一些资料我们希望项目结束 ...

  9. 转载:深度学习在NLP中的应用

    之前研究的CRF算法,在中文分词,词性标注,语义分析中应用非常广泛.但是分词技术只是NLP的一个基础部分,在人机对话,机器翻译中,深度学习将大显身手.这篇文章,将展示深度学习的强大之处,区别于之前用符 ...

  10. Unchecked runtime.lastError: The message port closed before a response was received.

    这是由于某个 Chrome 扩展程序造成的. 打开 chrome://extensions/,逐一关闭排查.我这边是由于“迅雷下载支持”这个扩展引起的,将其关闭即可.