将独特查询的结果与oracle中的其他结果相结合

时间:2013-11-12 17:40:10

标签: sql database oracle

我有一个要求,我需要选择最近出现的unique_customer_id和message_id,每个消息ID不超过一个客户行。我还需要返回channel和reason_code的相关数据,但这些数据可以是重复数据。我也有一个unique_row_id我也可以使用,如果我需要的话。如何将这两个字段添加到当前查询中? (或者以其他方式一起做)

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

1 个答案:

答案 0 :(得分:0)

如果您需要再添加两列,并且您知道它们会复制行(因为对于unique_customer_id, message_id列组合,channelreason_code中的值将超过1个) ,您已在这些列上使用聚合函数。问题是,哪一个?您将如何确定应选择哪个频道和哪个原因代码?

示例:

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