【发布时间】:2014-12-06 01:42:17
【问题描述】:
我正在尝试在事后从数据库的事务表中创建定期快照视图。事务表有以下字段:
- 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,但你应该明确地使用问题上的标签。
-
是的甲骨文。谢谢你的提示!我主要发现将专有扩展从一种 SQL 转换为另一种 SQL 并不难,但最好不必这样做。
标签: sql oracle data-warehouse