Teradata SQL比较组的值(如果相似或不相似)

Teradata SQL比较组的值(如果相似或不相似),sql,teradata,Sql,Teradata,我有一个如下所示的数据表,我需要比较每个CustomerID的OfferID,如果它们相似或不同。我试着让它过去 CASE WHEN (COUNT (DISTINCT OfferID) OVER (PARTITION BY CustomerID)) = 1 THEN 'SAME_OFFER' ELSE 'DIFFERENT_OFFER' END AS STATUS 但是,countdistinct似乎不能作为窗口函数使用 |CustomerID|Eff

我有一个如下所示的数据表,我需要比较每个
CustomerID
OfferID
,如果它们相似或不同。我试着让它过去

CASE
        WHEN (COUNT (DISTINCT OfferID) OVER (PARTITION BY CustomerID)) = 1  THEN 'SAME_OFFER'
        ELSE 'DIFFERENT_OFFER'
    END AS STATUS
但是,
countdistinct
似乎不能作为窗口函数使用

|CustomerID|EffectiveDate|OfferID|
|----------+-------------+-------|
|123       |1-Jan-2021   |111    |
|123       |2-Jan-2021   |111    |
|123       |3-Jan-2021   |111    |
|133       |1-Jan-2021   |222    |
|133       |2-Jan-2021   |333    |
|144       |1-Jan-2021   |222    |
|144       |2-Jan-2021   |222    |
|144       |3-Jan-2021   |333    |
|144       |4-Jan-2021   |333    |
所需输出如下所示

|CustomerID|EffectiveDate|OfferID|Status         |
|----------+-------------+-------+---------------|
|123       |1-Jan-2021   |111    |Same_Offer     |
|123       |2-Jan-2021   |111    |Same_Offer     |
|123       |3-Jan-2021   |111    |Same_Offer     |
|133       |1-Jan-2021   |222    |DIFFERENT_OFFER|
|133       |2-Jan-2021   |333    |DIFFERENT_OFFER|
|144       |1-Jan-2021   |222    |DIFFERENT_OFFER|
|144       |2-Jan-2021   |222    |DIFFERENT_OFFER|
|144       |3-Jan-2021   |333    |DIFFERENT_OFFER|
|144       |4-Jan-2021   |333    |DIFFERENT_OFFER|
我建议
min()
max()

select t.*,
       (case when min(offerid) over (partition by customerid) = max(offerid) over (partition by customerid)
             then 'SAME_OFFER' else 'DIFFERENT_OFFER'
        end) as status
from t