【数据分析面试】53.推送消息的分布情况(SQL)

在这里插入图片描述

题目

我们有两个表,一个是 notification_deliveries 表,另一个是包含 created 和购买 conversion datesusers 表。如果用户没有购买,那么 conversion_date 列为 NULL

编写一个查询,以获取用户转换前的推送通知总数的分布情况。

示例:

输入:

notification_deliveries

列名类型
notificationVARCHAR
user_idINTEGER
created_atDATETIME

users

列名类型
idINTEGER
created_atDATETIME
conversion_dateDATETIME

输出:

列名类型
total_pushesINTEGER
frequencyINTEGER

答案

解题思路

如果查看用户转换前收到的推送通知总数的分布情况,最终的结果应该看起来像下面这样:

total_pushes | frequency
-------------+----------0        |  1001        |  2502        |  300...       |  ...

购买前收到消息次数为0的用户人数有100个, 购买前接受了1次消息的有250人,接收了2次消息的用户有300人……

我们需要获取用户转换前推送通知的总数分布,可以考虑以下几点:

  1. 在两个表之间根据 user_id 字段进行连接。
  2. 排除所有未转换的用户。
  3. conversion_date 设置为大于 notification_deliveries 表中的 created_at 值,以获取发送给用户的所有通知。

我们知道这是一个 LEFT JOIN,以确保包含那些在没有任何推送通知的情况下转换的用户。

我们可以先计算每个用户的通知数量,然后按该数量分组,以获取总体分布。

答案代码

下面是实现该需求的SQL查询:

SELECT total_pushes, COUNT(*) AS frequency
FROM (SELECT u.id, COUNT(nd.notification) as total_pushesFROM users AS uLEFT JOIN notification_deliveries AS ndON u.id = nd.user_idAND u.conversion_date >= nd.created_atWHERE u.conversion_date IS NOT NULLGROUP BY 1
) AS pushes
GROUP BY 1
  • LEFT JOIN: 确保即使用户没有收到任何推送通知也能被包含在内。
  • u.conversion_date >= nd.created_at: 确保只计算在用户转换之前发送的通知。
  • COUNT(nd.notification): 计算每个用户在转换前收到的通知数量。
  • GROUP BY: 对每个用户计算的通知数量进行分组,然后对这些分组进行频率统计。

通过以上查询,可以得到每个用户在转换前收到的推送通知总数的分布情况。

更多详细答案可关注公众号查阅。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/331098.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机监测系统:天空之眼,精准掌握地球脉动

在当今信息化快速发展的时代,无人机技术以其独特的优势,正在成为资源调查、环境监测和规划支持的重要工具。无人机监测系统通过搭载多种传感器和设备,能够快速、高效地获取地表信息,为决策提供科学依据。 项目背景 随着全球环境…

SpringMVC接收请求参数的方式:

接收简单变量的请求参数 直接使用简单变量作为形参进行接收(这里简单变量名称需要与接收的参数名称保持一致,否则需要加上RequestParam注解): 细节: 1:SpringMVC会针对常见类型(八种基本类型及…

二叉排序树的创建

二叉排序树就是节点经过排序构建起的二叉树,其有以下性质: 1. 若它的左子树不为空,则左子树上所有节点的值均小于它的根节点的值。 2. 若它的右子树不为空,则右子树上所有节点的值均大于它的根节点的值。 3. 它的左、右子树也分…

python期末作业:批量爬取站长之家的网站排行榜数据并保存,数据分析可视化

爬虫作业,含python爬取数据和保存文件,数据分析使用pyecharts做数据可视化 整体上分析网站的排名,直观看各个网站的热度。 数据分析之后大致的效果: 整个项目分为两个大的部分,第一部分就是抓取网站排名数据,然后保存为Excel、csv等格式,其次就是从文件中…

下一代Docker会让部署更丝滑吗

下一代Docker会让部署更丝滑吗 如何通俗易懂的理解DockerDocker有什么缺点Docker与AI结合,会让部署更加丝滑吗 随着互联网技术的不断发展,单机系统已经无法满足日益正常的用户量以及正常处理用户请求,这个时候就需要进行多机部署,…

设计新境界:大数据赋能UI的创新美学

设计新境界:大数据赋能UI的创新美学 引言 随着大数据技术的蓬勃发展,它已成为推动UI设计创新的重要力量。大数据不仅为界面设计提供了丰富的数据资源,还赋予了设计师以全新的视角和工具来探索美学的新境界。本文将探讨大数据如何赋能UI设计…

使用Datav,echarts开发各种地图

一、功能描述 在实际中,有时候需要针对不同的地图进行开发,而能在网上找到现成,与需要匹配度高的,几乎很难,而且找起对应的资源也相对麻烦。所以结合DataV提供的地图数据,就能开发出各种地图,然…

英语学习笔记25——Mrs. Smith‘s kitchen

Mrs. Smith’s kitchen 史密斯太太的厨房 词汇 Vocabulary Mrs. 夫人【已婚】 复习:Mr. 先生 全名 / 姓    Mrs. 夫人 全名 / 丈夫的姓    Miss 小姐(未婚) 全名 / 姓    Ms. 女士 全名 / 姓 查看婚姻状况,可以观察…

神经网络的工程基础(零)——PyTorch基础

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下:regression2chatgpt/ch06_optimizer/gradient_descent.ipynb 本文将介绍PyTorch的基础。…

速看!!!24上软考-信息系统项目管理师真题回忆,考点已更新

整理了24上半年软考高级信息系统项目管理师的考试真题,软考一个批次一套题,现在都是机考,收集题目比较困难,希望能给个小小的赞支持一下。 注意:当天考试的宝子们可以对答案预估分数!后面场次的宝子可以提…

WordPress搭建流程

1. 简介 WordPress 是一个 PHP 编写的网站制作平台。WordPress 本身免费,并且拥有众多的主题可以使用,适合用于搭建个人博客、公司官网、独立站等。 2. 环境准备 2.1 WordPress 下载 WordPress 可以在 Worpress中文官网 下载(如果后续要将后台调成中文的话,一定要从中文…

idea中显示git的Local Changes

1. 第一打开idea中的Settings文件 2. 找到Version Contro中的commint 3. 取消勾选应用即可 4. 本地提交就会显示出来

堆和堆排序

目录 1.二叉树的顺序存储2.堆的性质3.堆的实现3.1 堆的插入(向上调整算法)3.2 堆向下调整算法3.3 堆的创建3.4 堆的删除3.5 全套代码 4.堆排序5.Top-K问题 1.二叉树的顺序存储 顺序存储就是数组存储,一般使用数组只适合完全二叉树&#xff0…

AI革命:生活无处不智能

AI革命:生活无处不智能 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 博客首页 怒放吧德德 To记录领地 🌝分享学习心得&#xff0…

回见,那果园

记不得何时开始骑行,何时开始爬山,何时偶遇洛师傅,何时进了那半山腰的果园。 似乎很远,又很近。 昨天打电话给果园的师傅,本意问问杏是否熟了,周末骑行过去、进山聊天顺道吃个新鲜。 洛师傅呵呵的笑…

电脑版网易云音乐听歌识曲

文章目录 流程 流程 电脑网易云音乐的搜索框旁边就是听歌识曲功能

NDIS小端口驱动开发(一)

在四种NDIS相关的驱动中,微型端口驱动(也经常翻译为为小端口驱动)位于驱动栈的底部,一般将它理解为NIC设备的驱动程序: 有几种类型的微型端口驱动程序类型: 无连接微型端口驱动程序用于控制无连接网络媒体 ,如以太网的…

JMeter 常见易错问题

1、配置错误: 问题:线程组配置错误,例如设置了错误的线程数或循环次数。 解决方法:检查线程组的配置。确保线程数(即并发用户数量)设置正确,以及循环次数符合预期。如果要模拟不同类型的用户行…

arc-eager算法XJTU-NLP自然语言处理技术期末考知识点

arc-eager算法:以我/做了/一个/梦为例来描述arc-eager算法的四个操作:shift,left-arc,right-arc,reduce XJTU-NLP期末考点2024版 题型:5*6简答题4*15计算题 简答题考点: (1&#…

【30天精通Prometheus:一站式监控实战指南】第8天:redis_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋   欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀   Prometheus是云原生和DevOps的…