在一天内生成满足相同条件的列值

u2nhd7ah  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(339)

我有一个包含帐号、交易日期、交易金额的交易表。我想生成一个列,有“是”或“否”信息的情况下,如果一个交易重复在同一天相同的金额相同的客户。表和生成值示例如下所示。

AccountNumber   Tran_Date   Amount  Have_SameTran
85694           01/01/2020  1000    Yes
85694           01/01/2020  300     no
85694           01/02/2020  300     no
24121           01/01/2020  500     yes
24121           01/02/2020  750     no
85694           01/03/2020  1000    no
24121           01/01/2020  500     yes

我该怎么做?

laik7k3q

laik7k3q1#

可以使用窗口函数和条件表达式:

select 
    t.*,
    case 
        when count(*) over(partition by tran_date, account_number, amount) > 1 
        then 'yes' 
        else 'no' 
    end as has_same_tran
from mytable t

相关问题