Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择“使用oracle中的2个字段删除重复条目”_Sql_Database_Oracle_Select - Fatal编程技术网

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

Sql 选择“使用oracle中的2个字段删除重复条目”,sql,database,oracle,select,Sql,Database,Oracle,Select,我正在处理一个Oracle查询,返回一组记录。我的要求是消除重复记录。我有一个表,其中包含唯一的客户id、日期和消息id。我只需要为每个客户和每个消息id选择最新的结果 换句话说,我可能需要多个唯一的客户id行,但每个客户的每个消息id只需要一行 为清晰起见,请编辑: 除此之外,我还想向结果集中添加其他非唯一的数据字段,如customer_answer、channel…谢谢 前 应该回来 Joe msg1 8/9/2013 Joe msg2 9/10/20

我正在处理一个Oracle查询,返回一组记录。我的要求是消除重复记录。我有一个表,其中包含唯一的客户id、日期和消息id。我只需要为每个客户和每个消息id选择最新的结果

换句话说,我可能需要多个唯一的客户id行,但每个客户的每个消息id只需要一行

为清晰起见,请编辑:

除此之外,我还想向结果集中添加其他非唯一的数据字段,如customer_answer、channel…谢谢

应该回来

    Joe    msg1    8/9/2013
    Joe    msg2    9/10/2013
    Jim    msg1    9/13/2013
提前感谢您的帮助

这可能有效:

SELECT DISTINCT unique_customer_id, message_id, MAX(date)
FROM TableName
GROUP BY unique_customer_id, message_id
这可能会奏效:

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

这对我最初的问题非常有效。我已经在上面添加了更多的细节…我想我已经解决了它的其余部分;)。如何在没有明确要求的情况下向该查询添加其他字段?即返回上述三个字段和其他三个非唯一字段…谢谢@flobbie1:Distinct只确保不会得到重复的行。只要不是每个字段都与另一行相同,就可以有3个相同的附加字段。但是,由于它是一个group by子句,您必须将行添加到group by中,或者将它们放在聚合函数中,如MAX()或SUM()。这对于我最初的问题非常有效。我已经在上面添加了更多的细节…我想我已经解决了它的其余部分;)。如何在没有明确要求的情况下向该查询添加其他字段?即返回上述三个字段和其他三个非唯一字段…谢谢@flobbie1:Distinct只确保不会得到重复的行。只要不是每个字段都与另一行相同,就可以有3个相同的附加字段。但是,由于它是一个group by子句,因此必须将行添加到group by,或者将它们放入聚合函数中,如MAX()或SUM()。