2017-06-16 48 views

回答

0

儘管downvotes的衝擊,一種方法是使用子查詢來限制關閉每個客戶的最新日期的總和。

SELECT 
    t1.customer_id, 
    SUM(closing) AS closing_sum 
FROM yourTable t1 
INNER JOIN 
(
    SELECT customer_id, MAX(entry_dt) AS max_entry_dt 
    FROM yourTable 
    GROUP BY customer_id 
) t2 
    ON t1.customer_id = t2.customer_id AND 
     t1.entry_dt = t2.max_entry_dt 
GROUP BY t1.customer_id 
+0

這給出了確切的結果。而不是entry_dt,需要考慮created_dt。會做出更改和實施...非常感謝 –

0

@tim

我已經修改了查詢,如下。

SELECT 
    a.customer_id, 
    SUM(closing) AS closing_sum 
FROM empty_accounting a 
INNER JOIN 
(
    SELECT customer_id, MAX(created_dt) AS max_created_dt 
    FROM empty_accounting 
    GROUP BY customer_id 
) b 
    ON a.customer_id = b.customer_id AND 
     a.created_dt = b.max_created_dt 
GROUP BY a.customer_id 

但是我擔心如果created_dt在秒內不同,它不會被總結。

有沒有辦法找到最新的created_dt的entry_dt,然後總結每個客戶的entry_dt的關閉?

注意:entry_dt是交易在現實生活中發生的日期 而created_dt是記錄在系統中創建的日期。所以我覺得最好找到使用created_dt字段的最新記錄

+0

這不是Stack Overflow的工作原理。如果我的回答是正確的,或幾乎解決了您的問題,那麼您應該將其標記爲正確。 –