1

我正在使用 Oracle Query 来返回一组记录。我的要求是消除重复记录。我有一个带有 unique_customer_id、日期和 message_id 的表。我只需要为每个客户和每个消息 ID 选择最近的结果。

换句话说,我可能想要多个 unique_customer_id 行,但每个客户的每个 message-id 只有一行

为清楚起见进行编辑:

除此之外,我想向结果集中添加其他数据字段,这些字段可以是非唯一的,例如 customer_answer、channel...谢谢!

前任。

    Joe    msg1    1/2/2013
    Joe    msg1    4/5/2013
    Joe    msg1    8/9/2013
    Joe    msg2    8/8/2013
    Joe    msg2    9/10/2013
    Jim    msg1    9/13/2013

应该返回

    Joe    msg1    8/9/2013
    Joe    msg2    9/10/2013
    Jim    msg1    9/13/2013

在此先感谢您的帮助!

4

1 回答 1

4

这可能有效:

SELECT DISTINCT unique_customer_id, message_id, MAX(date)
FROM TableName
GROUP BY unique_customer_id, message_id
于 2013-11-12T16:30:03.993 回答