本博客是来源CSDN BBS上一个问题。原问题如下:
从系统时间往前M天内,有连续M天交易笔数小于B笔的商户。
表设计:
CREATE TABLE prm_tbl(zoneno NUMBER, last_days NUMBER, min_days NUMBER, min_trans NUMBER);
CREATE TABLE acc_tbl(d_date DATE, merch NUMBER, cnt NUMBER);
CREATE TABLE merch_list(merch NUMBER, zoneno NUMBER);
prm_tbl定义某问题描述中的三个参数。
acc_tbl是交易记录表,假如商户在某天没有交易,则该表没有数据。
merch_list是商户和区域的关联表。某区域内有一个或多个商户。
测试数据如下:
$sh@ORCL> select * from prm_tbl;
ZONENO LAST_DAYS MIN_DAYS MIN_TRANS
------ --------- -------- ---------
1 5 2 6
2 5 3 6
Elapsed: 00:00:00.05
$sh@ORCL> select * from acc_tbl order by d_date desc;
D_DATE MERCH CNT
--------- ---------- ----------
03-JAN-14 1 7
02-JAN-14 1 6
01-JAN-14 1 7
31