
MySQL
肥大毛
落魄谷中寒风吹,春秋蝉鸣少年归。
展开
-
SQL刷题---2021年11月每天新用户的次日留存率
3.以表a为主与表b进行连接,过滤条件为同一个用户在表b中的日期比表a中日期多一天,根据此结果计算留存率。1.首先算出每个新用户注册的日期,将其命名为表a。2.计算出每个用户登录的天数,将其命名为表b。原创 2024-04-16 18:33:25 · 847 阅读 · 1 评论 -
LeetCode刷题---销售分析III
首先找出在sales表中筛选出符合指定日期的prioduct_id,将其查询结果命名为t1。与product表进行关联得出最终结果。原创 2024-04-01 15:18:37 · 283 阅读 · 0 评论 -
LeetCode刷题---查询近30天活跃用户数
1.给出满足的条件,截止至2019-07-27的近30天。2.按照日期分组,统计活跃用户个数。原创 2024-03-27 16:48:47 · 445 阅读 · 0 评论 -
LeetCode刷题---游戏玩法分析 IV
2.将Expected表和原始表activity进行关联,求出首次登录后第二天又登录的player_id,将其创建为临时表,命名为result。3.将从Result表中查询出来的用户个数除以原表activity中用户的个数,结果保留两位小数。1.首先查询出每个用户首次登录的第二天,并将其创建为临时表,命名为Expected。原创 2024-03-27 16:04:03 · 524 阅读 · 0 评论 -
LeetCode刷题---即时食物配送 II
2.与原表连接,求出在用户首次订单表中即时订单的数量的总和。1.首先先求出每个用户首次订单表,将其命名为表t。3.求出每个用户首次订单的数量。4.计算得到最终结果。原创 2024-03-12 22:31:31 · 409 阅读 · 0 评论 -
LeetCode刷题---每月交易I
当state不等于approved时,将state赋值为NULL或0。对分组后的结果求解,使用IF函数进行过滤。1.在对日期截取时,使用了MySQL中的。首先按照日期和国家/地区进行分组。函数,将日期转换为指定格式的日期。2.该题配合MySQL中的。原创 2024-03-11 20:56:55 · 661 阅读 · 2 评论 -
LeetCode刷题---查询结果的质量和占比
对组内的rating的值使用IF函数进行判断,如果rating=3,则将其标识为0,通过次方法可以找出组内rating的值小于原创 2024-02-27 22:39:19 · 512 阅读 · 0 评论 -
LeetCode刷题---各赛事的用户注册率
3.最后将上一步求出的count数量除以第一步得出的count数量得出注册率,并按照题中要求对结果进行排序。2.按照contest_id进行分组,求出每个赛事有多少用户参赛。根据题意要求出每个赛事的注册率,首先就要确定有多少参赛用户。原创 2024-02-27 15:23:58 · 497 阅读 · 0 评论 -
LeetCode刷题---平均售价
首先对Prices表和UnitsSold表进行Left join操作,之后按照购买日期位于定价开始和结束日期之间的条件进行过滤。将price和units的乘积进行累加,将units的值进行累加,之后将两个累加的和相除得到最终结果。按照product_id进行分组,对组内进行计算。原创 2024-02-27 10:08:15 · 399 阅读 · 0 评论 -
LeetCode刷题---确认率
AVG(c.action=‘confirmed’)表示对action列进行求平均,如果action=‘confirmed’,则返回true,此时在AVG函数中,将其计数为1,如果为false,则将其计数为0.将Signups和Confirmations进行左连接,连接的条件为Signups.user_id=Confirmations.user_id。但是对于值为null的行,AVG在进行计算的时候,则会将其忽略,所以此时使用IFNULL函数将其null值改为0.原创 2024-02-26 23:38:43 · 475 阅读 · 0 评论 -
LeetCode刷题---至少有5名直接下属的经理
首先将原表(经理表manager)与自身(下属表emp)进行连接,连接条件为manager.id=emp.manager,之后按经理表中的id进行分组,统计每个经理的下属员工的个数,将统计的结果命名为表t1。从t1中取出count>=5的经理id,将查询的结果命名为表t2。找出Employee表中下属员工至少有5个的经理名称。原创 2024-02-22 17:39:57 · 416 阅读 · 0 评论 -
LeetCode刷题---学生们参加各科测试的次数
之后将学生表和科目表的笛卡尔积与grouped表进行左外连接,连接条件为学生id和科目(这样保证在学生id不在考试表中的学生也可以被统计上),结果按照学生id,姓名,科目,进行分组。对考试表Examinations表统计学生参加考试的次数,按照学生id和考试科目进行分组,使用count函数统计次数,起别名为grouped表。根据题意要实现每个学生参加每个科目考试的次数,如果没有参加,则统计次数为0。首先将学生表和科目表进行笛卡尔积。原创 2024-01-26 16:11:50 · 432 阅读 · 0 评论 -
LeetCode刷题---每台机器的进程平均运行时间
使用case—when函数修改,如果状态为start,则将其时间值变为负数,如果状态为end,则保持不变。先按照机器machine_id进行分组,然后求每台机器内的平均运行时间。使用sum函数对同一台机器内所有进程的运行时间进行求和。使用上一步的累加值除以同一台机器内进程的个数得到平均值。原创 2024-01-25 23:27:54 · 418 阅读 · 0 评论