按 ID 在 SQL 中检索第一次出现的记录
Retrieve the first occurrence of a record by ID in SQL
我正在尝试从 SQL 服务器将一些数据导入 Excel,但我遇到了一些问题。这是我第一次编写查询,虽然我能够获得整个数据集,但我已经意识到数据中充满了重复项。我想去掉 Excel 中的重复项,只保留唯一记录。我不能在 Excel 中使用 "Remove Duplicates",因为数据设置为每 30 分钟刷新一次,我不想如此频繁地删除它们。
我的数据设置为:
ID-Code-Status-Status
1- A- In- Employee
2- A- In- Employee
3- B- Out- Temp
4- A- Out- Employee
5- A- Out- Employee
必填
ID-Code-Status
1- A- In- Employee
3- B- Out- Temp
4- A- Out- Employee
我尝试过使用 distinct,但它让我更加困惑。
非常感谢。
您可以使用子查询来选择每个代码和状态的第一次出现(例如 A, In
):
SELECT * FROM [TableName] where [ID] IN
(SELECT MIN([ID]) FROM [TableName] GROUP BY [Code], [Status])
我正在尝试从 SQL 服务器将一些数据导入 Excel,但我遇到了一些问题。这是我第一次编写查询,虽然我能够获得整个数据集,但我已经意识到数据中充满了重复项。我想去掉 Excel 中的重复项,只保留唯一记录。我不能在 Excel 中使用 "Remove Duplicates",因为数据设置为每 30 分钟刷新一次,我不想如此频繁地删除它们。
我的数据设置为:
ID-Code-Status-Status
1- A- In- Employee
2- A- In- Employee
3- B- Out- Temp
4- A- Out- Employee
5- A- Out- Employee
必填
ID-Code-Status
1- A- In- Employee
3- B- Out- Temp
4- A- Out- Employee
我尝试过使用 distinct,但它让我更加困惑。
非常感谢。
您可以使用子查询来选择每个代码和状态的第一次出现(例如 A, In
):
SELECT * FROM [TableName] where [ID] IN
(SELECT MIN([ID]) FROM [TableName] GROUP BY [Code], [Status])