sql-server - 使用 group by-SQL 获取最早日期

标签 sql-server

我要尽快拿到创建日期 与 group by 身份证号码 .这里是记录的样本。

| AccountID | DisplayName   | CreatedDate | IdentityNumber | OrganizationID |
|-----------|---------------|-------------|----------------|----------------|
| 1         | John          | 1 Jan 2018  | 1234           | 1000           |
| 2         | John          | 15 Jan 2018 | 1234           | 1001           |
| 3         | John          | 20 Jan 2018 | 1234           | 1002           |
| 4         | Michael       | 1 Jan 2018  | 1235           | 1000           |
| 5         | Michael       | 3 Jan 2018  | 1235           | 1003           |
| 6         | Wood          | 2 Jan 2018  | 1236           | 1002           |

所以我想产生这样的结果。
| AccountID | DisplayName   | CreatedDate | IdentityNumber | OrganizationID |
|-----------|---------------|-------------|----------------|----------------|
| 1         | John          | 1 Jan 2018  | 1234           | 1000           |
| 4         | Michael       | 1 Jan 2018  | 1235           | 1000           |
| 6         | Wood          | 2 Jan 2018  | 1236           | 1002           |

这是我的 sql 片段
SELECT IdentityNumber, MIN(CreatedDate)
FROM Accounts
GROUP BY IdentityNumber

是的,我可以通过身份号码获得最早的组记录。但是我如何在没有 的情况下获取 AccountID、DisplayName、OrganizationID分组 ?

最佳答案

另一种选择是使用 WITH TIESRow_Number() 一致的条款

Select Top 1 with ties *
 From  dbo.Accounts
 Order By Row_Number() over (Partition By IdentityNumber Order By CreatedDate)

关于sql-server - 使用 group by-SQL 获取最早日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48427490/

相关文章:

sql - 为什么不总是使用 GUID 而不是整数 ID?

sql-server - 使用可信连接将 Grails 连接到 MS SQL

sql-server - 在联合 View 上添加唯一索引 (SQL Server 2008)

php - 着手编写一个 Minecraft 服务器状态检查程序

c# - 使用 SMO 获取表默认值的创建脚本

sql-server - SQL Server死锁清晰度?

sql-server - 如何从脚本组件中的一行跳过

sql-server - 从命令行迁移 Entity Framework

SQL Server - 创建自定义自增字段

sql-server - Visual Studio 11 开发人员预览版上的 Visual C# SQL CLR 数据库项目