高分求SQL算法!

yasur 2003-05-09 12:00:59
表中有三个字段[客户代码][交易日期][交易金额]

要求得到同一天交易三次并且交易金额大于10000元或者至少连续5个工作日交易金额大于50000元的记录!

注:
[1] 同一天同一客户有可能有许多交易记录
[2] 必须是至少[连续]五天的交易金额大于50000元!

问题的难点在于判断日期[连续]!一句代码应该实现不了,也需要在表中增加标记字段!

谢谢!
...全文
5 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tchatcha 2003-05-23
至少连续5个工作日交易金额大于50000元的记录!
select *
from table a
where 交易日期>=date and 交易日期<=dateadd(d,5,date)
and exists(select 交易日期 from table and 交易日期>=date and 交易日期<dateadd(d,5,date) and 客户代码=a.客户代码 group by 交易日期 having count(*)=5)
and exists(select sum(交易金额) from table and 交易日期>=date and 交易日期<dateadd(d,5,date) and 客户代码=a.客户代码 group by 客户代码 having sum(交易金额)>=50000)

回复
fengzeng 2003-05-11
至少连续5个工作日交易金额大于50000元的记录!(用游标对DTAE赋值)
修改
select *
from table a
where 交易日期>=date and 交易日期<=dateadd(d,5,date)
and exists(select 交易日期 from table where 交易日期>=date and 交易日期<dateadd(d,5,date) and 客户代码=a.客户代码 and 交易日期=a.交易日期 group by 交易日期 having count(*)=5) and exists(select sum(交易金额) from table where 交易日期>=date and 交易日期<dateadd(d,5,date) and 客户代码=a.客户代码 and 交易日期=a.交易日期 group by 客户代码 having sum(交易金额)>=50000)

同一天交易三次并且交易金额大于10000元(每次)
select *
from table a
where exists(select 客户代码, 交易日期 from table where 客户代码=a.客户代码 and 客户代码=a.客户代码 and 交易日期=a.交易日期 group by 交易日期 having count(*)>=3) and not exists(select * from table where 客户代码=a.客户代码 and 交易日期=a.交易日期 and 交易金额<10000)



回复
fengzeng 2003-05-11
以上可以用游标对DTAE赋值


同一天交易三次并且交易金额大于10000元(每次)
select *
from table a
where exists(select 客户代码, 交易日期 from table 客户代码=a.客户代码 and 客户代码=a.客户代码 and 交易日期=a.交易日期 group by 交易日期 having count(*)>=3)
and not exists(select * from table 客户代码=a.客户代码 and 交易日期=a.交易日期 and 交易金额<10000)

回复
fengzeng 2003-05-11
至少连续5个工作日交易金额大于50000元的记录!
select *
from table a
where 交易日期>=date and 交易日期<=dateadd(d,5,date)
and exists(select 交易日期 from table and 交易日期>=date and 交易日期<dateadd(d,5,date) and 客户代码=a.客户代码 group by 交易日期 having count(*)=5)
and exists(select sum(交易金额) from table and 交易日期>=date and 交易日期<dateadd(d,5,date) and 客户代码=a.客户代码 group by 客户代码 having sum(交易金额)>=50000)
回复
xizhouhawk 2003-05-11
表达不详细
交易销售额是三次的和还是每次都要大与10000元呢?
回复
hfs1978 2003-05-09
你可以分成两中情况分开判断应该没问题的,不过要多写些代码罢了
回复
相关推荐
发帖
数据库相关
创建于2007-09-28

734

社区成员

PowerBuilder 数据库相关
申请成为版主
帖子事件
创建了帖子
2003-05-09 12:00
社区公告
暂无公告