首页 > 数据库 >牛客SQL练习小记

牛客SQL练习小记

时间:2024-07-31 11:09:19浏览次数:7  
标签:uid -- SQL 牛客 time select 小记

牛客SQL练习总结

计算新用户的次日留存率

  • 太失败了!!一步一个坎,面对这个问题没有完整的思路,想到一半就无法继续了,只能看大佬们的sql获得启发
--思路
--这道题关键的两点,一个是标志出新用户,这个可以通过窗口函数min,根据uid分组,计算出首次登录时间
--另一个就是二次登陆日期,这个可以使用lead函数,根据uid分组,time排序
--还有一点需要注意的是题中有提到跨天用户,所以可以使用union将这个表拆成进入时间和离开时间重新拼在一起
--sql实现如下:
select time,round(sum(IF(DATEDIFF(nextime,time),1,0))/count(distinct uid),2) as rate
from
(select uid,time,min(time) over(partition by uid) as firstime,lead(time) over(partition by uid order by time) as nextime
from
(select uid,date(in_time) time
from tb_user_log
union
select uid,date(out_time) time
from tb_user_log)a)b
where time=firstime
group by time
order by time

标签:uid,--,SQL,牛客,time,select,小记
From: https://www.cnblogs.com/loveinmylife/p/18334193

相关文章

  • MySQL入门学习-设计优化.范式设计
        以下是关于MySQL入门学习中设计优化和范式设计的一些基本信息:一、设计优化:1.索引优化:  -选择合适的列创建索引,通常在经常用于查询、连接、排序的列上创建索引。  -避免在过多的列上创建索引,以免影响插入、更新和删除操作的性能。  -对于大型......
  • MySQL入门学习-设计优化.生成列
        在MySQL中,生成列(GeneratedColumn)是一种特殊的列类型,它的值是根据其他列的值或表达式计算得到的。生成列可以分为两种类型:存储生成列(StoredGeneratedColumn)和虚拟生成列(VirtualGeneratedColumn)。一、特点和使用方法:1.存储生成列:  -特点:    ......
  • T-SQL——关于安装 Mcrosoft.ACE.oledb.16.0出现的32位和64位的冲突问题
    目录1.关于安装Access数据引擎:microsoft.ACE.oledb.16.0(或者:microsoft.ACE.oledb.12.0)2.关于MSSM界面导入,选择目标时候,没有SQLServerNativeClient11.0shanzm-2024年7月31日10:47:241.关于安装Access数据引擎:microsoft.ACE.oledb.16.0(或者:microsoft.ACE.oledb.12.0)公司......
  • 视频监控国标GB28181平台EasyGBS如何更换默认的SQLite数据库?
    视频流媒体安防监控国标GB28181平台EasyGBS视频能力丰富,部署灵活,既能作为业务平台使用,也能作为安防监控视频能力层被业务管理平台调用。国标GB28181视频EasyGBS平台可提供流媒体接入、处理、转发等服务,支持内网、公网的安防视频监控设备通过国标GB/T28181协议进行视频监控直播......
  • QSqlRelationalTableModel 附加相关列
    我有一个QSqlRelationalTableModel设置到另一个表,工作得很好。现在,我想在相关表上查找该行的其他列。我该如何实现这一点?QSqlRelation示例表:到目前为止我所拥有的:city('id','name','state_id')state('id','name','capital')这会给我一......
  • mysql数据类型
    002-MySQL数据类型 ==========================================数据类型 ==========================================1、数字类型:  整数类型      字节     范围(有符号)     范围(unsigned)     用途  TINYINT     ......
  • MySQL正则表达式
    004-正则表达式MySQL利用REGEXP命令提供给用户扩展的正则表达式功能,熟悉掌握REGEXP的功能可以使模式匹配工作事半功倍。表达式  说明^   字符串开始处进行匹配(以“后面字符串”开始匹配字符)$   字符串结尾处进行匹配(以“前面字符串”结尾匹配字符).   ......
  • MySQL的HINT用法
     一、mysql常用的hint 对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。  强制索引FORCEINDEX SELECT*FROMTABLE1FORCEINDEX(FIELD1)…以上的SQL语句只使......
  • SQL执行顺序和逻辑
    SQL执行顺序和逻辑MySQL的执行顺序:  (9)SELECT  (6)SUM(聚合函数)  (10)DISTINCT<select_list>  (1)FROM<left_table>  (3)<join_type>JOIN<right_table>  (2)ON<join_condition>  (4)WHERE<where_condition>  (5)GROUP......
  • 基于SSM的车辆租赁管理系统(含源码+sql+视频导入教程+文档)
    ......