首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL进行用户留存率计算

今天我们来分享一个常见案例,用SQL计算用户留存率。 目录: 1. 案例数据 2. 思路分析 3. 完整代码 1. 案例数据 这里我们一共两份日志数据,分别是用户账号创建的日志以及用户登录的日志。...账号创建日志 账号创建日志 用户登录日志 登录日志 以上案例数据 后台回复 955 可以在SQL文件夹里data领取 2....SELECT DISTINCT STR_TO_DATE( $part_date, '%Y-%m-%d' ) login_date, role_id FROM role_login 为了计算某条登录日志是该用户创建账号后的第几天登录...create_log.role_id)) ) temp_1 GROUP BY create_date ) temp_2 ORDER BY create_date ASC 以上就是本次全部内容,由于不同的sql...后续我们会陆续进行SQL与Python的常见数据处理计算案例分享,敬请期待!

1.2K20

SQL计算用户连续登录天数

上次我们根据用户创建账号和登录日志进行了《用SQL进行用户留存率计算》,今天我们继续用这份用户登录日志来计算用户连续登录天数。 1....数据预览 这里我们用到的是用户登录的日志,其中用户每天可能存在多次登录。 用户登录日志 用户登录 以上案例数据 后台回复 955 可以在SQL文件夹里data领取 2....《『数据分析』pandas计算连续行为天数的几种思路》 《利用Python统计连续登录N天或以上用户》 今天,我们用SQL来进行本次的操作,大致分为以下几步: 数据去重 SELECT DISTINCT...SELECT DISTINCT role_id , $part_date date FROM role_login ) temp_1 再用登录日期和排序序号进行差值计算...后续我们会持续分享SQL和Python的实操案例哈,敬请期待!

2.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

Flink SQL空闲状态保留时间实现原理

前言 如果要列举Flink SQL新手有可能犯的错误,笔者认为其中之一就是忘记设置空闲状态保留时间导致状态爆炸。...Flink SQL提供的idle state retention time特性可以保证当状态中某个key对应的数据未更新的时间达到阈值时,该条状态被自动清理。...minRetentionTime和最大保留时间maxRetentionTime(根据实际业务决定),且两者至少相差5分钟。...以计算Top-N的AppendOnlyTopNFunction为例,它的processElement()方法中会对到来的每个元素注册清理Timer: @Override public void processElement...在Table/SQL模块中还有一个内置的触发器StateCleaningCountTrigger,它可以对窗口中的元素进行计数,并按照计数阈值或者空闲状态保留的时间阈值来清理(即FIRE_AND_PURGE

1.3K10

Flink 1.9 - SQL 空闲状态保留时间实现原理

Flink SQL 空闲状态保留时间和参数配置 Flink SQL 空闲状态保留时间是针对 SQL 中聚合 Key 而言的,空闲的时间也就是 Key 没有更新的时间。...(最大空闲状态时间定义了一个 Key 的状态至多空闲的时间) 用户在设置状态的空闲时间时,最小的状态空闲时间和最大的状态空闲时间之间的间隔必须大于 5 分钟。...Flink SQL 空闲状态保留时间实现原理分析 简单的讲,Flink SQL 空闲状态保留的时间底层是基于 KeyedProcessFunction 函数来进行实现的,然后为每个 Key,结合空闲状态时间的最小值和最大值注册...有个点需要注意,如果某个 Key 的状态被清理掉,如果后续再来这个 Key 的消息记录时,会被当做该 Key 的第一条记录来进行处理,聚合值也是重新开始计算。所以,请确保设置合理的空闲状态保留时间。...总结 Flink SQL 虽然没有 DataStream API 那样为每个算子单独来设置状态的保留时间,不过在 Flink SQL 我们可以设置空闲状态的保留时间,具体的时间业务方根据实际情况而定。

83710

SQL 计算中位数

笔者在 HackerRank 上的 SQL 编程挑战看到这题,这题有 96% 的提交成功率。实际上,使用 SQL 求中位数远远没那么简单。...解决方案 解决方案主要有两种,第一种方案是对数据按大小排序后找到居中的值,再求值的平均数;第二种解决方案计算出每个数与其它数的相对距离(两数相减,结果为正则作 1,结果为负作 0,相等是 0),再对位移的结果加和...对应的 SQL 实现: # 准备数据 WITH t AS (SELECT 3 AS num UNION ALL SELECT 6 UNION ALL SELECT 3 UNION ALL SELECT...比如“1,2,3,5,6,7”这组数据,计算 margin,结果如下: num margin ------ -------- 1 5 2 3...ON 1 = 1 GROUP BY a.num) SELECT AVG(num) FROM t1 WHERE equal >= margin 由于我们对数据做了笛卡尔积的操作,因此实际上计算出来的

1.8K10

SQL Server检索SQL用户信息的需求

但是最近有个SQL Server的需求,需要知道历史SQL的执行者。...如下SQL,可以找到当前SQL Server跑过的SQL,但是没用户信息, SELECT p.refcounts, p.usecounts, sqltext.text  FROM sys.dm_exec_cached_plans...sqltext.dbid)) = 'XXX'  ORDER BY sqltext.text 从官网找到DMV中有个sys.dm_exec_sessions,其中字段login_name,应该指的是登录的用户名...view=sql-server-ver15 但是能和sys.dm_exec_sql_text关联起来的只有database_id,如下得到的应该是个笛卡尔积,并未将SQL和login_name用户的信息关联起来...无论从监控粒度,还是数据统计的角度,SQL用户信息关联检索还是有用的,可以做到更精细的控制,不太清楚为什么微软官方没给出这样的设计,或者有其他隐藏的功能?

1.2K30

SQL server登录账号与用户

简介 在创建SQL server用户时会发现创建了两个账号。这里会涉及两个概念----登录名账号和数据库用户。 本人不详细解读(我也不熟),只是在工作中遇到,简单了解。...所以登录名账号是用来连接SQL server数据库引擎的。比如默认且最高权限的登录名账号----sa。 数据库用户 第二步则是创建一个数据库用户,且不用设置密码,且会绑定到登录名账号。...所以登录名账号是通过数据库用户来操作数据库的,对此数据库的权限也要看绑定的数据库用户。 每个数据库的用户并不相通,但是可以每个数据库创建相同名称的用户名。 概念总结 登录名账号是用来连接数据库的。...数据库用户是用来管理数据库的(即权限分配)。 一个数据库用户只能绑定一个登录名账号。...sql语句 登录名语句 创建 CREATE LOGIN [login_name] WITH PASSWORD = 'password'; 删除 DROP LOGIN [login_name]; 数据库用户语句

30240

函数计算 Python 连接 SQL

具体安装方法可以参考《函数计算安装依赖库方法小结》。而 pymssql 的老版本涉及到编译安装,比常见的二级制安装到本地目录略复杂一些。...下面的例子是基于函数计算 runtime python3.6 的,对于 python2.7 也进行了测试,同样适用。...因为本地路径 $(pwd) 被挂载到 container 内部的 /code 目录,所以 container 退出以后 /code 目录的内容还会保留在本地当前路径下。...对于不需要使用老本 pymssql 的用户看到这里就可以结束了。...小结 这是一份来迟的函数计算使用 sql server 数据库的配置文档。当前版本的 pymssql 已经不再需要源码安装了。但是 pip 源码包安装的方法,对于其他类似的场景也是适用的。

1.3K20
领券