Navigation

    MemFireDB论坛

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    咚叮咚~进击的“程序猿”--第三弹

    活动
    7
    10
    171
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      admin last edited by admin

      第三关

      国庆假期期间,因疫情原因,游客或航空公司会取消行程,现需要统计每日退票情况,并在连续两天退票率出现下降时调整新的票价策略。

      退票率计算规则如下:(被航空公司或游客取消的绿码游客生成的订单数量) / (绿码游客生成的订单总数)。

      写一段 SQL 语句查出 "2022-10-01" 至 "2022-10-05" 期间绿码游客的退票率。绿码游客即 banned 为 No 的用户,非绿码游客即 banned 为 Yes 的用户。并判断当日是否触发新的票价策略。

      返回结果表中的数据按订票时间降序组织。其中退票率需要四舍五入保留两位小数。

      建表

      create table "Orders"
      (
         id int,
         users_id int,
         company_id int,
         city_id int,
         status varchar(30),
         request_at varchar(30)
      );
      
      
      
      create table "Users"
      (
          users_id int,
          banned varchar(30)
      );
      create table "Companies"
      (
        company_id int,
        name varchar(30)
      );
      

      Orders 是订单表,表中id是这张表的主键。这张表中存放所有航空公司的订票信息。每张机票有唯一id ,其中 users_id 是 Users 表中 users_id 的外键。company_id是Companies表中company_id的外键,status 是一个表示机票状态的枚举类型,枚举成员为(‘completed’, ‘cancelled_by_company’, ‘cancelled_by_user’) 。

      Users是用户表,表中users_id是这张表的主键,banned 是一个表示用户是否被禁止的枚举类型,枚举成员为 (‘Yes’, ‘No’) 。

      Companies表是航空公司表,表中id是这张表的主键。

      插入数据

      insert into "Orders" values 
      (1, 1, 10, 1, 'completed', '2022-10-01'),
      (2, 2, 11, 1, 'cancelled_by_company', '2022-10-01'),
      (3, 3, 12, 6, 'completed' ,'2022-10-01'),
      (4, 4, 13, 6, 'cancelled_by_user' ,'2022-10-01'),
      (5, 1, 10, 1,  'completed' ,'2022-10-02'),
      (6, 2, 11, 6, 'completed' , '2022-10-02'),
      (7, 3, 12, 6, 'completed' , '2022-10-02'),
      (8, 2, 12, 12,  'completed' , '2022-10-03'),
      (9, 3, 10, 12, 'completed'  , '2022-10-03'),
      (10,4 ,13, 12, 'cancelled_by_company' ,'2022-10-03'),
      (11, 1, 12, 12,  'completed' , '2022-10-04'),
      (12, 2, 10, 12, 'completed'  , '2022-10-04'),
      (13,3 ,13, 12, 'cancelled_by_company' ,'2022-10-04'),
      (14,4 ,13, 12, 'completed' ,'2022-10-04'),
      (15, 1, 12, 12,  'completed' , '2022-10-05'),
      (16, 2, 10, 12, 'completed'  , '2022-10-05'),
      (17,3 ,13, 12, 'completed' ,'2022-10-05'),
      (18,4 ,13, 12, 'completed' ,'2022-10-05');
      
      
      insert into "Users" values
      (1,  'No'),
      (2,  'Yes'),
      (3,  'No'),
      (4,  'No');
      
      
      insert into "Companies" values
      (10, '东方航空'),    
      (11, '吉祥航空'),   
      (12, '深圳航空'),    
      (13, '厦门航空');
      
      

      要求输出:

          日期    | 今日退票率 | 调整策略
      ------------+------------+----------
       2022-10-05 |       0.00 | t
       2022-10-04 |       0.33 | f
       2022-10-03 |       0.50 | f
       2022-10-02 |       0.00 | f
       2022-10-01 |       0.33 | f
      (5 rows)
      

      d9fc953d-0aa8-4704-ba30-542444d0e11c-image.png

      本关参与方式

      活动期间10月19日-10月24日,只要在本帖下方评论区贴出截图(截图需为在MemFire Cloud SQL编辑器中的效果),然后带着自己的答案找管理员核兑抽奖机会哦~

      🌟 本题为闭卷模式,被公开的答案有成绩作废的风险哦~

      R 1 Reply Last reply Reply Quote 0
      • 花
        花殇 last edited by

        368fddf4-79ef-4ba6-9aa4-56a94a14df77-image.png

        1 Reply Last reply Reply Quote 0
        • R
          rui @pekin last edited by

          @pekin 牛!六个核桃还是有用啊!

          1 Reply Last reply Reply Quote 0
          • S
            swing last edited by

            2e208598-0a92-4888-885e-45bf071bedb0-image.png

            1 Reply Last reply Reply Quote 0
            • 彭
              彭于晏 last edited by

              c7b3384b-e115-4b2a-88c3-e151eec1d3da-image.png

              1 Reply Last reply Reply Quote 0
              • 2
                20497409 @20497409 last edited by

                @20497409 在 咚叮咚~进击的“程序猿”--第三弹 中说:

                cc789127-055f-4d08-945f-c8cbff1fba8a-image.png 🙄 今天有点不在状态~

                @admin

                1 Reply Last reply Reply Quote 0
                • 2
                  20497409 last edited by

                  cc789127-055f-4d08-945f-c8cbff1fba8a-image.png 🙄 今天有点不在状态~

                  2 1 Reply Last reply Reply Quote 0
                  • pekin
                    pekin last edited by pekin

                    一箱 6个核桃没了
                    cef09347-c6b3-49cf-977c-83381b1a2998-image.png

                    不要为了保持存活浪费太多时间,要有活自己的时间

                    R 1 Reply Last reply Reply Quote 0
                    • pekin
                      pekin @rui last edited by

                      @rui 等我再喝两罐 三个核桃

                      不要为了保持存活浪费太多时间,要有活自己的时间

                      1 Reply Last reply Reply Quote 0
                      • R
                        rui @admin last edited by

                        @admin
                        难死了啊,难死了啊
                        bbfe38f8-c51a-414e-93b0-0e66d03a40d7-image.png

                        pekin 1 Reply Last reply Reply Quote 0
                        • First post
                          Last post