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

标签 sql database oracle select

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

换句话说,我可能想要多个 unique_customer_id 行,但每个客户的每个消息 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

预先感谢您的帮助!

最佳答案

这可能有效:

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

关于sql - 选择使用来自 oracle 的 2 个字段删除重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934401/

相关文章:

php - MySQL:如果值存在则对该行进行更新,如果值不存在则进行插入

mysql - 从sql查询结果中获取计数

c# - 如何在 MySQL 数据库中使用系统时间查询搜索时间

php - 如何显示数据库中存储的所有图像

excel - Oracle ODBC TNS-less 连接字符串(适用于 64 位 Excel)

带有参数的sqlplus假脱机文件

database - 为什么 Oracle 找不到 oci.dll?

php - PHP/MYSQL编辑配置文件功能-错误的查询语法?

Mysql (LEFT)JOIN 如何解释这种行为?

java - HSQLDB 子查询 - Java