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

SQL系列(二)最常见业务实战

"}] 以上数据来源于python构造,如果有需要同学可关注公众号HsuHeinrich,回复【SQL02】自动获取~ 常见业务SQL实例 汇总统计 计算每个用户活跃天数、练习次数、在...12月活跃天数。...生成2000-01-01后每一天日期信息,包含但不限于年、月、日、月初、月末等 知识点:各类日期函数应用 select dt ,from_unixtime(unix_timestamp...计算每个用户最大连续登陆天数和最大沉睡天数 select uid ,max(continue_nums) as max_continue_nums ,max(max_sleep_nums...简单一句话:当你知道如何最正确使用count()和count(distinct)时,你逻辑就是清晰。 最后,给大伙出道简单综合题吧:给定起始值和结束值(均为整数),构造步长为1等差数组。

2.9K20

R&Python Data Science 系列:数据处理(3)

注意:Python排列顺序使用参数ascending控制;R语言中使用desc函数; 1.2 rename函数 重命名函数,Python和R语言中使用方法相同,new_name = old_name...###计算x、y、z最大值和最小值 diamonds >> summarize_each([np.max, np.min], X.x, X.y, X.z) >> head(4) ?...R实现 ##计算钻石价格price最大值、最小值 diamonds %>% summarise(price_max = max(price), price_min=min(price)) ###计算钻石...4 聚合函数 聚合函数是对某一列数据,使用分组函数和排序函数进行处理之后(可以省略),使用聚合函数,返回一个值。...5 总结 数据处理1-3,主要介绍了Python中dfply和R中dplyr包中数据处理函数,几乎满足数据预处理中筛选变量、衍生变量以及计算一些统计量需求。

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

数仓面试——连续登录问题进阶版

count(1) >= 4 ) tmp3 GROUP BY id; 详解: 1:利用rown_number,按用户分组,登录时间升序 2:本次登录日期减去步骤一生成增序列...,形成第一道日期基准 3:利用dense_rank,按用户分组,步骤二形成日期基准升序 4:步骤二日期基准减去步骤三增序列,形成最终日期基准 5:按步骤四形成用户和最终日期基准分组,过滤出次数大于等于...和 count 窗口函数 4:取出日期基准为1数据和最后一条数据 5:比较当前行和前一行rn差,为连续登录天数(最后一行特殊处理) 6:根据用户去重,获得结果 方法四:采用sum分组 SELECT...2:本文给几个例子都是先求最基本基准 方法一使用增序列,获取一个临时基准,然后又用dense_rank,让同一基准内数据划分到一起,最终获得分组一个base_dt,但是此方法不灵活,需求修改为多天的话...1,然后添加一个增序列,那么就可以把1和最后一条提取出来,然后计算前后序列差,但是要注意最后一条要特殊处理 方法四巧妙利用sum窗口,基准为0数据sum后还是数据本身,然后就能生成分组基准

1.1K40

SQL题目

as diff_ts from (select id,ts, lag(ts,1,0) over(partition by id order by ts ) as lag_ts,--找不到上一条...,置0 from tmp.table_test2 ) t1 )t2; 19 打折日期交叉问题   如下为平台商品促销数据:字段为品牌,打折开始日期,打折结束日期,计算每个品牌总打折销售天数,注意其中交叉日期...,比如vivo品牌,第一次活动时间为2021-06-05到2021-06-15,第二次活动时间为2021-06-09到2021-06-21其中9号到15号为重复天数,只统计一次,即vivo总打折天数为2021...2 比较开始时间和下移数据 如果开始时间大 则无需操作 反之需要移动下来数据加1后替换当前行开始时间 第一行数据无需替换 3 计算开始时间与结束时间差值 4 按照品牌进行分组 计算每条真是数据加...score_time asc) as diff_score from bktab ) t1 ) t2 where if_surpass = 1 23 SQL实现次日、三日及七日用户留存率计算

23920

「Workshop」第二期:程序控制与数据操作流

这一次内容太多了,我讲了 2 小时都没讲完,后续再放视频吧。有一段还忘记录了。。。...+ - * / > < == 偏移 dplyr:: lag lead 聚合 dplyr:: cumall cumany cummax cummean cummin cumprod cumsum 排序...write_* data.table 与 base 数据导入 fread 数据导出 fwrite data.table 语法 dt[i, j, by] 数据过滤与合并等操作与 R 基础语法一致,也可以使用...tidyverse 处理 整数索引 逻辑索引 命名索引 进一步学习参考小抄、文档和《R 语言编程指南》 后几期主题 本期未讲述内容???...正则表达式与字符串处理:base 与 stringr 列表处理与迭代计算:purrr 统计建模:stats 与 broom 绘图:graphics 与 ggplot2 函数编程:apply家族和purrr

1.5K30

按持续时间偏移日期时间

可以按如下方式计算日期时间偏移持续时间:yx + yxyDateDateTimeDateTimeZoneTime 如果指定了日期时间纪元值以来天数,则使用以下信息元素构造一个新日期时间: 计算纪元以来天数...,相当于将 y 大小除以 24 小时内 100 纳秒刻度数,截断结果小数部分,并将此值添加到纪元以来 x 天数。...计算午夜以来新滴答声,相当于将 y 大小添加到午夜起 x 滴答声中,以 24 小时周期内 100 纳秒滴答声数量为模。如果 x 没有指定午夜以来刻度值,则假定值为 0。...如果未指定日期时间纪元值以来天数,请使用指定以下信息元素构建新日期时间: 计算午夜以来新滴答声,相当于将 y 大小添加到午夜起 x 滴答声中,以 24 小时周期内 100 纳秒滴答声数量为模...如果 x 没有指定午夜以来刻度值,则假定值为 0。 复制纪元以来天数和与 UTC 分钟偏移量不变 x 值。

2.7K20

python实现输出日历

以下是使用几个简单函数实现给定指定年月实现当月日历输出程序,大部分内容引用网易云课堂哈工大开设Python程序设计入门函数一章课后作业。 程序设计图如下: ?...下往上看: is_leap_year 判断是否为闰年 get_num_of_days_in_month 获得每月天数 get_total_num_of_days 获得1800年1月1日以来经过天数...return True else: return False def get_num_of_days_in_month(year, month): # 给定年月返回月份天数...年1月1日以来过了多少天 days = 0 for y in range(1800, year): if is_leap_year(y): days...实现起来难度不大,只是在格式控制上需要花点心思,具体详见print_month_body函数注释。 第一次用Python编了一个有八十行程序,希望大家多多指教。

2.6K30

如何删除相邻连续重复行?

解题思路是要通过查询,利用信息差过滤掉同一个页面第一次登录后连续访问记录。...,即要判断用户第一次访问页面与后面第二次访问页面是否相同,即“t1访问序号=t2访问序号+1”。...=t2.访问页面; 运行结果为: 【本题考点】 1、联结。本题利用联结,获得信息差。联结是指使用别名实现表与其自身联结查询方法。...但是用联结查询可以轻松解决,联结查询就是以类似多表对比方式,实现对同一张表内数据进行复杂关系表示或关系处理。关键点在于虚拟化出一张表给一个别名。...【此面试题总结】: 此题重点考察计算逻辑和窗口函数。怎么理解数据,并取出需要行数,需要很强逻辑思路,属于面试题中比较难题目。逻辑思路正确是写正确代码前提。

4.5K20

一场pandas与SQL巅峰大战(四)

周同比即当天和上周同一天数变化百分比,日环比即当天和昨天数变化百分比。本文也主要计算周同比和日环比。数据概况如下,是随机生成两个月销售额数据。...思路一:关联,关联条件是日期差分别是1和7,分别求出当天,昨天,7天前数据,用三列形式展示,之后就可以进行作差和相除求得百分比。...这种写法巧妙地使用别名查询出了前1天和前7天金额,效果和第一种写法一样,不过这种写法可能小众一点。...方法三:使用pandaspct_change()函数计算 orderamt = pd.read_excel('orderamt.xlsx') orderamt['ld_pct'] = orderamt...至此,我们完成了SQL和pandas中对于周同比和日环比计算过程。 ◆ ◆ ◆ ◆ ◆ 小结 本篇文章中,我们使用SQL和pandas多种方法对常见周同比和日环比进行计算

1.9K10

「R」数据操作(五):dplyr 介绍与数据过滤

在对数据进行可视化之前我们往往需要进行数据转换以得到可视化所需要数据内容与格式。这里我们使用dplyr包操作2013年纽约市航班起飞数据集(2013)。...准备 这部分我们聚焦于如何使用dplyr包,除ggplot2另一个tidyverse核心成员。我们将使用nyclights13数据包解释关键概念并使用ggplot2帮助理解数据。...## lag(): dplyr, stats 注意一下你导入tidyverse包时给出冲突信息(Conflicts),它告诉你dplyr覆盖了R基础包中函数。...如果你想要在载入tidyverse包后仍然使用这些函数,你需要使用函数全名stats::filter()和stats::lag()进行调用。...)对于R而言,它会先计算11|12得到1,然后计算month == 1,这就不是我们需要了!

2.4K11

SAS-函数(二),几个很好用函数~

在SAS编程中,经常遇需要判断一条观测下,缺失值情况,比如:“是否有不良事件选择否,但不良事件记录不全为空”。那么就来看看几个函数,如何来实现计算缺失值情况。...,注释部分,有对N、CMISS、NMISS函数使用说明。...在编程过程中,我们经常会出现,对于多个变量,取第一次非空那个变量值,当然实现方法很多种,众多方法也没有俩个函数来简单直接... aa=coalescec(a1,a2,a3,a4,a5); /...,函数使用就是这么简单......现在临床试验用数据,导出大部分都是按照Domain进行划分,也是纵表结构,我们经常会计算访视时间窗,本次访视与上次访视差值,当然实现方式有很多,那么如何可以用函数来快捷把上次访视日期衍生一个新变量呢

9.9K83

大数据学习之数据仓库代码题总结上

现在任务是计算每个品牌打折销售天数。然而,由于数据中存在时间交叠情况,我们需要合理处理这种情况,避免重复计算销售天数。因此,你需要设计一条 SQL 查询来解决这个问题。...请编写一条 SQL 查询,计算每个品牌总打折销售天数,要求正确处理时间交叠情况,并给出你解决方案。...现在任务是编写一条 SQL 查询,计算员工薪水中位数。由于计算中位数需要对数据进行排序和分析,这个问题在 SQL 中相对复杂。你可以使用窗口函数和子查询等技术来解决。...请编写一条 SQL 查询,计算每个用户最长连续登录天数。 请编写一条 SQL 查询,计算连续登录天数3天用户。...请编写一条 SQL 查询,计算连续登录天数3天用户(非连续2天以上未登录为连续登陆定义)。

17210

Google Earth Engine(GEE)——全球洪水数据库 v1 (2000-2018年)

添加了额外数据质量带,表示洪水事件期间云状况(例如,“clear_views”表示在洪水开始和结束日期之间观察到天数,“clear_perc”表示整个事件中晴天观测百分比持续时间(天)。...1 - 地表水面积0 - 没有水 duration 天 事件期间地表水持续时间(以天为单位)。像素值表示在事件期间像素区域被视为水复合天数使用为期 3 天 MODIS 复合影像。...1 - 地表水面积 0 - 没有水 duration天 事件期间地表水持续时间(以天为单位)。像素值表示在事件期间像素区域被视为水复合天数使用为期 3 天 MODIS 复合影像。...dfo_severity 双倍 洪水事件严重性(DFO 数据库): 1 - 大型洪水事件、对结构或农业重大破坏、死亡人数和/或上次类似事件以来报告 5-15 年间隔1.5 - 非常大事件...1 - 大型洪水事件、对结构或农业重大破坏、死亡人数和/或上次类似事件以来报告 5-15 年间隔 1.5 - 非常大事件:>15 年但 <100 年复发间隔 2 - 极端事件:复发间隔 > 100

37720

Redis:23---info命令总结

StandaloneosLinux2.6.18-274.el5x8664Redis所在机器操作系统arch_bits64架构(32或64位)multiplexing_apicpollRedis所使用事件处理机制...tcp_port6384监听端口uptime_in_seconds9753347Redis服务启动以来,运行秒数uptime_indays112Redis服务启动以来,运行天数hz10serverCron...0否,Ⅰ是rdb_changes_since_last_save53308858上次RDB后,Redis数据改动条数rdb_bgsave_in_progresso标识RDBbgsave操作是否进行中...当前使用频道数量pubsub_patterns0当前使用模式数量latest_fork_usec16194最近一次fork操作消耗时间(微秒)migrate_cached_sockets 0记录当前...8948465,lag=I连接从节点信息master_repl__offset4.26979E+11主节点偏移量从节点master_host10.10.xx.63.主节点IPmaster_port6387

78330

玩转数据处理120题|R语言版本

(df,5) 76 数据处理 题目:将数据向前移动5天 难度:⭐⭐ R解法 lead(df,5) 77 数据计算 题目:使用expending函数计算开盘价移动窗口均值 难度:⭐⭐ R解法 #R中没有...)) %>% dplyr::rename(`0` = "seq(0, 99, 5)") 84 数据创建 题目:从NumPy数组创建DataFrame 难度:⭐ 备注 使用numpy生成20个指定分布...which(df['col1'] %% 5==0) 92 数据计算 题目:计算第一列数字前一个与后一个差值 难度:⭐⭐ R语言解法 df %>% summarise(col1 - lag(col1...- lag(res) == -2) - 1 # # [1] 3 5 7 12 14 17 19 96 数据计算 题目:按行计算df每一行均值 难度:⭐⭐ R语言解法 rowMeans(df) 97...题目:将第一列大于50数字修改为'高' 难度:⭐⭐ R语言解法 df[df$col1 > 50,1] <- '高' 100 数据计算 题目:计算第一列与第二列之间欧式距离 难度:⭐⭐⭐ 备注 不可以使用自定义函数

8.7K10

抖音面试题:遇到连续问题怎么办?

里讲过遇到“连续问题”如何解决,并送出了一个万能模板,模板使用是窗口函数解决连续问题。...窗口函数 窗口函数lead使用方法: lead(字段名,N,默认值) over(partion by …order by …) 默认值是指:当向上N行或者向下N行值时,如果已经超出了表行和列范围时,会将这个默认值作为函数返回值...这样,可以判断用户连续登陆情况。 接下来就解决用户每次连续登陆天数计算。 3....子查询 用户每次连续登陆天数与用户登陆顺序存在某种必然关系,此时我们可以先用子查询将用户在本月阅读顺序查询出来,使用窗口函数row_number: select *, lead(日期...与原题区别在于: 1)“连续2天”变成了“连续5天”:对最后where条件进行修改; 2)查询“用户名单”变成了“用户数”:用户group by和count(distinct 用户id)计算用户数。

99720
领券