SQL常见函数整理 _ lead() 向下偏移

打印 上一主题 下一主题

主题 805|帖子 805|积分 2415

1. 用法
是在窗口函数中利用的函数,它用于获取当前行的下一行(后一行)的某个列的值。具体来说,LEAD() 函数可用于查找任何给定行的下一行(后一行)的值,同时也可控制行数偏移量(offset)和默认值(default value)。
2. 基本语法
  1. LEAD ( column [, offset [, default_value ]])  
  2. OVER ( [ ORDER BY clause ] )
复制代码


  • column 参数:指定要获取其值的列名称
  • offset 参数:指定要偏移的行数
  • default_value 参数:指定如果无法找到下一行,则利用的默认值
  • ORDER BY子句:用于指定窗口中的行次序
3. 实际应用

假设今天的日期是 ‘2021-1-1’ 。
编写解决方案,对于每个 user_id ,求出每次访问及其下一个访问(若该次访问是最后一次,则为今天)之间最大的空档期天数 window 。
返回结果表,按用户编号 user_id 排序。
结果格式如下示例所示:

  1. select user_id,max(diff) as biggest_window
  2. from (select user_id,visit_date
  3.         ,datediff(day,visit_date,lead(visit_date ,1 ,'2021-01-01') over(partition by user_id order by visit_date) ) as Diff
  4.         from UserVisits ) a
  5. group by user_id
  6. order by user_id
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表