我需要一个基于一个字段和日期的DISTINCT记录列表

时间:2011-04-14 20:37:29

标签: sql distinct

我正在尝试制定一个SQL语句,它将返回一个字段上不同的记录列表,但是如果一个重复记录(基于一个字段)与日期字段中的较新日期一起出现,那么它应该被选为“独特”记录。

Field 1  Field 2  Field 3
A        3/28/11  Jimmy
A        4/11/11  Tom
B        3/29/11  Harry
C        4/12/11  Tom
C        3/30/11  Jimmy

会产生:

A        4/11/11  Tom
B        3/29/11  Harry
C        4/12/11  Tom

“Distinct”字段是Field 1。

1 个答案:

答案 0 :(得分:2)

SELECT A.Field1, A.Field2, A.Field3
FROM myTable A
INNER JOIN (
    SELECT B.Field1, MAX(B.Field2) AS MaxDate
    FROM myTable B
    GROUP BY B.Field1) AS B
        ON A.Field1 = B.Field1 AND A.Field2 = B.MaxDate
ORDER BY A.Field1

注意:我没有尝试过此查询&我正在写它应该是什么。