想要实现某产品的销量统计,算法如下:
前两天的销量比较:如果前天比昨天高,则标记为正1;低,则标记为负1;
若持平,则标记为0. 并且按销量由高到低排序。
求高手一条sql语句解决(多条也行)。
已知条件:
表名:goods, 商品名:goodsname,交易时间:goodstime,销量:saleamount.
其中,商品有20种,记录估计1000条。
说明:只求sql,不用考虑其他sql语句以外的问题。
`select goodsname, goodstime, saleamount,
case when day_bef_yes_sal - yes_sal > 0 then 1 when day_bef_yes_sal - yes_sal = 0 then 0 else -1 end flag from
(
select goodsname, goodstime, saleamount,
lead(saleamount) over(partition by goodsname order by goodstime desc) yes_sal,
lead(saleamount, 2) over(partition by goodsname order by goodstime desc) day_bef_yes_sal
from goods
) where goodstime = sysdate order by saleamount desc;`
限定下条件排序就可以了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。