• 数据分析笔试题(二)


    • SQL操作

    1、基本知识:

    ①简述SQL的书写顺序和执行顺序;

    书写顺序:

    执行顺序:

    ②窗口函数:rank、dense_rank、row_number的区别;

    ③字符串类型和时间类型怎么相互转换;“2021-08-10 10:00:00”怎么转换成“10:00:00”;

    1. 将下表1由列结构转换为行结构,即由表1转换为表2;

    复制以下语句建表:

    CREATE TABLE table1 ( 性别 VARCHAR(10), 南湖 int,  鼓楼 int, 赛格 int  ,新街口 int, 合计 int) charset='utf8';

    insert into table1 values ("男",100,0,100,100,300),("女",100,100,0,200,400) ;     

    测试地址 https://www.db-fiddle.com/

    sex

    南湖

    鼓楼

    赛格

    新街口

    合计

    100

    0

    100

    100

    300

    100

    100

    0

    200

    400

                                                                                       表1

    area

    sex

    fee

    南湖

    100

    南湖

    100

    鼓楼

    100

    赛格

    100

     新街口

    100

    新街口

    100

    新街口

    100

                              表2

    3、测试地址 https://www.db-fiddle.com/

    复制以下语句建表:

    create table login (uid int,login_time datetime) charset='utf8';

    insert into login values

    (2,'2021-01-01 12:21:11'),(4,'2021-01-01 12:25:00'),(1,'2021-01-01 21:18:52'),

    (3,'2021-01-01 21:30:47'),(2,'2021-01-02 15:38:10'),(4,'2021-01-02 22:31:51'),

    (1,'2021-01-02 19:53:08'),(5,'2021-01-02 08:08:46'),(3,'2021-01-03 17:33:48'),

    (1,'2021-01-03 11:31:31'),(5,'2021-01-03 22:18:53'),(6,'2021-01-03 11:32:15'),

    (5,'2021-01-04 16:59:33'),(2,'2021-01-04 12:53:31');

    提示:

    - 留存: 某用户今天登录,明天继续登录,则为留存

    - 留存率: 第二天回流用户数 / 第一天全部登陆用户数 = 第一天的次日留存率

    - 举例: 1月1日登录用户数为100人,其中有 66 人在 1月2日再次登陆,则 1月1日 的次日留存率为 66 / 100 = 0.66

    已有:login用户登录表,其中有uid用户编号(int),login_time登录时间(datetime)

    要求:计算每天的次日留存率,输出结果如下:

    数据 

  • 相关阅读:
    C语言基础 - 文件编程 —— 概述篇
    栈和队列(2)
    GPIO定义
    金仓数据库KingbaseES数据库开发指南(3. 面向应用程序的SQL开发)
    Klocwork 2023.2 windows
    不同的命令行风格
    【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
    Java时间处理---Java8中时区相关类库介绍
    git把master分支代码合并到自己分支上的具体操作
    哈希算法(一)Java实现常用的哈希算法
  • 原文地址:https://blog.csdn.net/summerriver1/article/details/125473287