有一张表,有店名,数据日期,日销售额,商店编号
查询连续**连续**三天或者三天以上销售额超过50000的店名
比如A店1号的销售额5万2号3万3号6万4号7万,这是不符合记录的
数据库oracle
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- hello128 2018-03-04 09:57关注
create table sale_info
(
dt date, ---销售日期
sale_num float, ---销售量
shop_code varchar(200) ---商店编号
)select shop_code, rdt,count(1)
from (select b.shop_code, b.dt, b.sale_num, b.flg, b.flg - d.rn as rdt
from (select b.shop_code,
b.dt,
a.sale_num,
case
when a.sale_num > 50000 then
b.dt
else
null
end flg
from (select shop_code, dt, sum(sale_num) sale_num
from sale_info
group by shop_code, dt) a, ---先按照日期和店分组下
(select trunc(sysdate) - level + 1 as dt,
'001' shop_code
from dual
connect by level <= 23) b --连续日期,如果需要更长,可以自己设置
where b.dt = a.dt(+) --左外连接
and b.shop_code = a.shop_code(+)
order by b.shop_code, b.dt) b,
(select c.*,
row_number() over(partition by c.shop_code order by c.shop_code, c.dt) rn
from (select shop_code, dt, sum(sale_num) sale_num
from sale_info
group by shop_code, dt) c ---先按照日期和店分组下,再按照日期进行排序
where c.sale_num > 50000) d
where b.dt = d.dt(+) --左外连接
and b.shop_code = d.shop_code(+))
group by shop_code, rdt
having count(1)>=3 ---存在大于等于3的就是了解决 无用评论 打赏 举报
悬赏问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题