选择使用oracle的2个字段删除重复的条目

时间:2013-11-12 16:21:27

标签: sql database oracle select

我正在使用Oracle Query,我正在返回一组记录。我的要求是消除重复记录。我有一个包含unique_customer_id,date和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

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

这可能有效:

SELECT DISTINCT unique_customer_id, message_id, MAX(date)
FROM TableName
GROUP BY unique_customer_id, message_id