zoukankan      html  css  js  c++  java
  • sql--测试商品的重要度,是否需要及时补货

    表1:商品表

    表2:商品售卖表

    需求:算出商品的平均点击率、平均销售、商品受欢迎度

    1.使用inner join查出每件商品的点击率和销售额度

    select a.ptype, a.pname, a.pview, ifnull(b.sales, 0) as selas
          from test a
                   left join test_sell b on a.pid = b.id
          order by a.ptype desc, a.pview DESC

    结果:

    2.查出每个商品类的平均点击率

     select ptype, sum(pview) / count(*) as avg_pview from test group by ptype

     

    3.查出每个商品类的平均销售额度

         select ptype,round(sum(selas) / count(*), 0) as avg_sales
          from (select a.ptype, a.pname, a.pview, ifnull(b.sales, 0) as selas
                from test a
                         left join test_sell b on a.pid = b.id
                order by a.ptype desc, a.pview DESC) a
          where a.selas > 0
          group by ptype

     

    总sql:

    select a.ptype,pname,pview,avg_pview,(pview/avg_pview)*0.3,selas,avg_sales,(selas/avg_sales)*0.7,(pview/avg_pview)*0.3+(selas/avg_sales)*0.7
    from (select a.ptype, a.pname, a.pview, ifnull(b.sales, 0) as selas
          from test a
                   left join test_sell b on a.pid = b.id
          order by a.ptype desc, a.pview DESC) a,
         (
             select ptype, sum(pview) / count(*) as avg_pview from test group by ptype) b,
         (select ptype,round(sum(selas) / count(*), 1) as avg_sales
          from (select a.ptype, a.pname, a.pview, ifnull(b.sales, 0) as selas
                from test a
                         left join test_sell b on a.pid = b.id
                order by a.ptype desc, a.pview DESC) a
          where a.selas > 0
          group by ptype) c
    
    where a.ptype = b.ptype
      and b.ptype = c.ptype order by a.ptype;

    总结:通过点击率和销售量的权重,得出商品的欢迎度, 

  • 相关阅读:
    递归
    linq语法
    客户端(winform)更新
    c# 实时监控数据库 SqlDependency
    C# MVC NPOI导出
    mui手机图片压缩上传+C#
    vs连接Oracle 客户端库时引发 BadImageFormatException
    一对多的子表数据利用游标循环更新主表的数据
    数据库的恢复数据语句
    mysql三-2:数据类型
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/11164476.html
Copyright © 2011-2022 走看看