Sql 将不同查询的结果与oracle中的其他结果联接

Sql 将不同查询的结果与oracle中的其他结果联接,sql,database,oracle,Sql,Database,Oracle,我有一个要求,即我需要选择最近出现的唯一客户id和消息id,每个消息id不超过一个客户行。我还需要返回通道和原因代码的相关数据,但这些数据可以并且将是重复数据。我还有一个独特的行id,如果需要,我也可以使用。如何将这两个字段添加到当前查询中?(或者以其他方式一起做) 如果您需要再添加两列,并且您知道它们将复制行(因为对于唯一的\u客户\u id,message\u id列组合,频道和原因\u code中将有多个值),那么您必须对这些列使用聚合函数。问题是,哪一个?您将如何确定应选择哪个频道和哪个

我有一个要求,即我需要选择最近出现的唯一客户id和消息id,每个消息id不超过一个客户行。我还需要返回通道和原因代码的相关数据,但这些数据可以并且将是重复数据。我还有一个独特的行id,如果需要,我也可以使用。如何将这两个字段添加到当前查询中?(或者以其他方式一起做)


如果您需要再添加两列,并且您知道它们将复制行(因为对于
唯一的\u客户\u id,message\u id
列组合,
频道和
原因\u code
中将有多个值),那么您必须对这些列使用聚合函数。问题是,哪一个?您将如何确定应选择哪个频道和哪个原因码

例如:

SELECT DISTINCT unique_customer_id, message_id, MAX(channel), MAX(reason_code), MAX(date)
FROM Table1
GROUP BY unique_customer_id, message_id;

应选择最近的一个
SELECT DISTINCT unique_customer_id, message_id, MAX(channel), MAX(reason_code), MAX(date)
FROM Table1
GROUP BY unique_customer_id, message_id;