当前位置: 首页 > news >正文

个人网站备案容易吗重要新闻

个人网站备案容易吗,重要新闻,网站建设哪种语言好,购物网站模板代码问题描述有一个用来记录每日客户消耗数据的表 t#xff0c;它的表结构如下#xff1a;字段类型描述created_dayDate消耗日期customer_idInteger客户IDamountInteger消耗金额要求#xff1a;统计出头部客户、腰部客户、尾部客户在上个月(2020-06-01 ~ 2020-06-30)的留存情况。…问题描述有一个用来记录每日客户消耗数据的表 t它的表结构如下字段类型描述created_dayDate消耗日期customer_idInteger客户IDamountInteger消耗金额要求统计出头部客户、腰部客户、尾部客户在上个月(2020-06-01 ~ 2020-06-30)的留存情况。输出结果的格式层级客户数量留存数量头部客户腰部客户尾部客户数据定义头部客户上个月消耗金额大于等于 30000 的客户腰部客户上个月消耗金额在 10000 ~ 30000(不包含 30000) 的客户尾部客户上个月消耗金额小于 10000 的客户留存最近两个月(上个月和本月)消耗金额大于 0 的客户时间上个月(2020-06-01 ~ 2020-06-30)、本月(2020-07-01 ~ 2020-07-31)解决方案今天这个问题和我上一篇文章里面的问题很相似只不过这里要求多统计一列因此解决的思路也差不多。下面我将用 CTE 来演示每个步骤。第一步计算出上个月每个客户的消耗金额。with t1 AS(SELECTcustomer_id,SUM(amount) AS amountFROMtWHERE created_day BETWEEN 2020-06-01AND 2020-06-30GROUP BY customer_id)SELECT * FROM t1第二步在第一步的基础上统计头部客户、腰部客户、尾部客户的数量。t2 AS(SELECTCASEWHEN amount 30000THEN 1WHEN amount 10000THEN 2ELSE 3END AS customer_level,COUNT(*) AS customter_cntFROMt1GROUP BY customer_level)SELECT * FROM t2在脚本中使用代码 1、2、3 分别表示头部客户、腰部客户、尾部客户。需要注意的是在 GROUP BY 子句中使用了 SELECT 子句中的字段别名 customer_level这种语法在其它数据中是编译不通过的。第三步计算留存。根据留存的定义只要客户在本月中有消耗就计入留存数。比如客户 AA 上个月的消耗金额是 40000那么 A 就是头部客户假如 A 在本月的消耗金额大于 0A 就为【留存】贡献了 1 。我们在 t1 之后插入表达式 t12t12 的脚本如下t12 AS(SELECTt1.customer_id,t1.amount,IF(tmp.amount 0, 1, 0) AS keep_stateFROMt1LEFT JOIN(SELECTcustomer_id,SUM(amount) AS amountFROMtWHERE created_day BETWEEN 2020-07-01AND 2020-07-31GROUP BY customer_id) tmpON tmp.customer_id t1.customer_id)SELECT * FROM t12t12 中的左连接也可以改造成标量子查询。完整的 SQL 实现with t1 AS(SELECTcustomer_id,SUM(amount) AS amountFROMtWHERE created_day BETWEEN 2020-06-01AND 2020-06-30GROUP BY customer_id),t12 AS(SELECTt1.customer_id,t1.amount,IF(tmp.amount 0, 1, 0) AS keep_stateFROMt1LEFT JOIN(SELECTcustomer_id,SUM(amount) AS amountFROMtWHERE created_day BETWEEN 2020-07-01AND 2020-07-31GROUP BY customer_id) tmpON tmp.customer_id t1.customer_id),t2 AS(SELECTCASEWHEN amount 30000THEN 1WHEN amount 10000THEN 2ELSE 3END AS customer_level,COUNT(*) AS customter_cnt,SUM(keep_state) AS keep_cntFROMt12GROUP BY customer_level)SELECTCASEcustomer_levelWHEN 1THEN 头部客户WHEN 2THEN 腰部客户ELSE 尾部客户END AS 层级,customter_cnt AS 客户数量,keep_cnt AS 留存数量FROMt2ORDER BY customer_level感兴趣的朋友可以尝试不使用左连接或者标量子查询的写法而是只查一次 t 表就能实现需求。本文分享自微信公众号 - SQL实现(gh_684ee9235a26)。如有侵权请联系 supportoschina.cn 删除。本文参与“OSC源创计划”欢迎正在阅读的你也加入一起分享。
http://wiki.neutronadmin.com/news/350288/

相关文章:

  • 网站建设 招标书足球网站怎么做
  • 学校网站网页设计wordpress 链接新窗口
  • 如何用博客网站做cpa惠州网站建设哪里找
  • 网站建设 企业 资质 等级南宁seo服务优化
  • 专门做颜料的网站淄博网站开发公司
  • 网站突然没有收录淮南专业网站建设
  • 快递查询网站建设网络域名怎么设置
  • 网站主办者什么意思网页平面美工培训
  • dede双语网站58同城个人房屋出租信息发布
  • 温州优化网站方法网络技术服务合同模板
  • 局网站建设工作征求意见桥西企业做网站
  • 南昌市 做网站的公司网站制作的电话
  • 云南微网站建设的公司有哪些wordpress快递模板下载
  • 网站架构拓扑图企业网店推广运营策略
  • 广州网站维护公司微信怎么关闭小程序
  • 外贸网站建站要多少钱咋样看网站域名是哪个服务商的
  • html网页留言板代码乌兰察布seo
  • 个人网站开发与实现开题报告网络公司企业网站模板
  • 专业网站建设团队seo专业优化方法
  • sql做网站后台如何用wordpress插件下载
  • 网站建设_微信开发网站上怎么做动图
  • 平顶山网站建设价格联系昆明网站建设
  • 金华建设技工学校网站五屏网站建设多少钱
  • 如何做自己的博客网站济南全屋定制品牌
  • 网站开发 职位描述网站图片设置
  • 网站做标题有用吗山西企业建站方案
  • 怎样做网站分流赚钱扁平式风格网站
  • google 网站收录新北网站建设
  • 装修网站大全承德网站制作
  • 潍坊网站公司网络科技拍艺术照