zoukankan      html  css  js  c++  java
  • SQL语句分组获取记录的第一条数据的方法

    使用Northwind 数据库

    首先查询Employees表

    查询结果:

    city列里面只有5个城市

    使用ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 先进行分组 注:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).

    sql语句为:

    select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUMBER() over(partition by City order by EmployeeID) as new_index  
    from Employees

    执行结果图:

    可以看到是按照City分组,EmployeeID排序。

    select出分组中的第一条记录

    执行语句:

    select * from 
    (select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUMBER() over(partition by City order by EmployeeID) as new_index  
    from Employees) a where a.new_index=1

    执行结果图:

  • 相关阅读:
    CTS2019 题解
    CTS2019 & APIO2019 游记
    WF 2019
    BZOJ 2560 及其加强
    UOJ 191
    SCOI2019 退役记
    HTML5 本地存储
    js数据类型
    解析json成javascript对象
    http状态码;
  • 原文地址:https://www.cnblogs.com/swarb/p/9924257.html
Copyright © 2011-2022 走看看