sql - Access SQL查询: How to only display most recent record of duplicates

标签 sql database sorting ms-access

我对 SQL 非常陌生,正在尝试创建一个查询来对表进行排序(我已经使该部分正常工作),然后仅显示每个相应组件和序列号的最新记录。

基本上,我正在创建一个 checkin / checkout 系统,并且只想列出每个特定组件的最新状态。每次 checkin 和 checkout 组件时,都会为该特定 checkin / checkout 分配一个唯一的 ID。因此我知道我可以使用最高的唯一 ID 来确定在输出表中显示哪条记录。

enter image description here

(上图是我拥有的,下图是我想要的)

如何删除前两个字段重复的记录?

这是我到目前为止所拥有的:

SELECT [Check In/Out].Component, [Check In/Out].[Serial Number], [Check In/Out].[Unique ID], [Check In/Out].DateTime, [Check In/Out].Initials, [Check In/Out].[Check In/Out]
FROM [Check In/Out]
ORDER BY [Check In/Out].Component, [Check In/Out].[Serial Number], [Check In/Out].[Unique ID];

我发现了类似的代码(如下所示),但是我尝试修改代码以与我的代码一起使用失败了:

SELECT Customers.ID, Customers.FullName, Customers.SaleDate
FROM Customers
WHERE [SaleDate] =
(SELECT Max([SaleDate])
FROM Customers AS X
WHERE X.[FullName] = [Customers].[FullName])

任何帮助将不胜感激。

最佳答案

对于 Access SQL,这可能有效:

   SELECT *
   FROM [Check In/Out] AS tA INNER JOIN (SELECT Component, [Serial Number],    
                                                MAX(Unique ID) AS highest_id
                                         FROM [Check In/Out]
                                         GROUP BY Component, [Serial Number]) AS  

   tB ON tA.Component = tB.Component                                                                                       
   AND                                                                                  
   tA.[Serial Number] = tB.[Serial Number]                                                                                  
   AND                                                                                  
   tA.[Unique ID] = tB.highest_id

关于sql - Access SQL查询: How to only display most recent record of duplicates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40003449/

相关文章:

mysql - 查找连续记录的数量

java - Hibernate:将foreign_key指向辅助表

c# - 局域网中的公共(public)数据库

python - 从文本文件中订购具有多种数据类型的列表

arrays - 按时间戳对对象排序,然后对依赖项进行分组

mysql - 选择两列的组合,并计算该组合的出现次数

sql - SQL Server 中的全局临时表

SQL:两个没有重复的聚合函数

database - 带有 OCaml 的 SQLite

c - 按照 3 条规则(奇数、偶数、排序)显示输出