SELECT id, split,cust,date_column, CASE num_cust WHEN 1 THEN total_amount ELSE total_cust_amount END AS amount FROM ( SELECT t.*, COUNT(DISTINCT CASE rnk WHEN 1 THEN cust END) OVER (PARTITION BY id, ...