LeetCode力扣 精选数据库70题 (SQL自学记录)
创始人
2024-11-12 05:07:00

目录

512. 游戏玩法分析 II

534. 游戏玩法分析 III

550. 游戏玩法分析 IV 重难点

569. 员工薪水中位数

578. 查询回答率最高的问题 重难点

579. 查询员工的累计薪水

584 ifnull的用法

585 2016的投资

597 好友申请总通过率

602 好友申请

607 销售员

614 二级关注者

617 平均工资:部门与公司比较

618 学生地理位置


511写一条 SQL 查询语句获取每位用户 第一次登陆平台的日期。

题目

解答思路:可以用窗口函数;也可以用最小值函数min

## 最小函数 select player_id,min(event_date) as first_login from Activity group by player_id  ## 最小值窗口函数 select distinct player_id,min(event_date) over(partition by player_id) as first_login from Activity

512. 游戏玩法分析 II

题目

解答思路:一种是窗口函数方法;另一种是用()in()方法

## ()in()方法 select player_id,device_id from Activity where (player_id,event_date) in  ( select player_id,min(event_date) as event_date from Activity  group by player_id )  ## 窗口函数 select player_id, device_id from  (select player_id, device_id,  dense_rank() over(partition by player_id order by event_date asc) rk  from activity) a where a.rk=1

534. 游戏玩法分析 III

题目

解答思路:使用累加求和窗口函数sum()over()

补充知识点:窗口函数sum()over() 链接:Hive--开窗函数--窗口聚合函数:SUM、AVG、COUNT、MAX、MIN_韩家小志的博客-CSDN博客_窗口函数count

select player_id, event_date,  sum(games_played) over(partition by player_id order by event_date) games_played_so_far  from activity

550. 游戏玩法分析 IV 重难点

解答思路:先得到用户首次注册后次日登录的日期(用date_add函数得出),再对应原数据是否存在该日期,统计存在的个数,除以总人数。注意这道题求的是首日注册后第二天连续登录的,不是任意两天连续登录就行。

补充知识点:

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...