0

这是我的数据库的简化版本

ID#
Date (Datetime)
Customer (Varchar)
Item (Varchar)

每个客户可以有多个项目,每一行都有一个唯一的日期时间戳。

我正在尝试编写一个查询以显示属于每个客户的每个附加项目的最新条目

如果这没有意义,这可能会更好:

例如数据。

1   1/1/12 00:00:00   Cust1  Item1 
2   2/1/12 00:00:00   Cust1  Item1 
3   3/1/12 00:00:00   Cust1  Item2 
4   2/1/12 00:00:00   Cust2  Item1 
5   3/1/12 00:00:00   Cust2  Item1 
6   4/1/12 00:00:00   Cust2  Item1 

应该显示

2   2/1/12 00:00:00   Cust1  Item1 
3   3/1/12 00:00:00   Cust1  Item2 
6   4/1/12 00:00:00   Cust2  Item1 

提前感谢您的帮助

4

1 回答 1

1

你可以做:

SELECT a.*
FROM   tbl a
JOIN   (
       SELECT MAX(ID) AS ID FROM tbl GROUP BY Customer, Item
       ) b ON a.ID = b.ID

这将获得ID每个客户的最高值(假设它是一个自动递增的值,并且最高值也是最新的),并且由于它是唯一的,我们只需在ID列上加入同一个表,这将只返回每个客户的最新行。

于 2012-08-01T12:14:13.780 回答