我試圖在事實之後從數據庫的事務表中創建定期快照視圖。交易表具有以下字段:SQL從事務中生成定期快照表
- ACCOUNT_ID(外鍵)
- EVENT_ID
- status_dt
- status_cd
每次帳戶改變了應用程序的狀態,新的行以新狀態添加到交易表中。我想創建一個視圖,顯示每個日期的狀態帳戶數量;它應該具有以下字段:
- snapshot_dt
- status_cd
- count_of_accounts
這將讓任何給定的一天計數,但不是所有的日子:
SELECT status_cd, COUNT(account_id) AS count_of_accounts
FROM transactions
JOIN (
SELECT account_id, MAX(event_id) AS event_id
FROM transactions
WHERE status_dt <= DATE '2014-12-05') latest
USING (account_id, event_id)
GROUP BY status_cd
謝謝!
你使用了哪個數據庫?我會猜測Oracle,但你應該明確問題上的標籤。 – 2014-12-06 01:46:05
是的Oracle。謝謝你的提示!我主要發現將專有擴展從一個SQL轉換爲另一個並不困難,但不必非要。 – Jared 2014-12-07 17:22:07