zoukankan      html  css  js  c++  java
  • sql server 根据字段去重

    使用 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 fromselect name ,row_number() over ( partition by name order by score) rn from UserGradeas s
    where rn=1

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

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

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

     

  • 相关阅读:
    HTML5+php图片自由裁剪上传功能
    一个日期时间显示框的美化风格示例
    PHP+jquery 瀑布流+LightBox图片盒子特效
    类型
    异常语句
    穷举
    练习
    累加求和
    猜拳游戏(三局两胜)
    正则表达式
  • 原文地址:https://www.cnblogs.com/zhangmm96/p/11133661.html
Copyright © 2011-2022 走看看