Navigation

    MemFireDB论坛

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

    叮~您有一封国庆SQL闯关邀请函,请查收

    活动
    10
    16
    273
    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
      aaaa果 @aaaa果 last edited by

      @aaaa果
      1.

      SELECT overlay(attr placing '' from 1 for 7)||substring(attr  from 3 for 2)  from level1;
      
      SELECT '        chart       ' AS chart UNION ALL
      SELECT '--------------------' AS chart UNION ALL
      SELECT chart FROM (
      SELECT concat (LPAD(js :: TEXT,2,'0'),' ','|',' ',COALESCE (MIN (guo),'  '),' ',COALESCE (MIN (qing),'  '),' ',COALESCE (MIN (kuai),'  '),' ',COALESCE (MIN (lei),'  '),' ') AS chart,LPAD(js :: TEXT,2,'0') seNo FROM (
      SELECT ROW_NUMBER () OVER (PARTITION BY attr ORDER BY attr) js,CASE WHEN attr='国' THEN '国' END guo,CASE WHEN attr='庆' THEN '庆' END qing,CASE WHEN attr='快' THEN '快' END kuai,CASE WHEN attr='乐' THEN '乐' END lei FROM level2) tmp GROUP BY js ORDER BY seNo DESC) tmp UNION ALL 
      SELECT '--------------------' UNION ALL 
      SELECT '     2022-10-01     '
      
      1 Reply Last reply Reply Quote 1
      • A
        aaaa果 last edited by

        b4d70ada-2674-41db-a6fd-6fb57968ef0a-image.png

        659aae1c-1628-4d12-86d7-2a41ac6b3b96-image.png

        A 1 Reply Last reply Reply Quote 0
        • W
          wsy last edited by

          *第一关

          SELECT concat(substr(attr,8,2),substr(attr,3,2)) str FROM LEVEL1  
          
          • 3734c866-e5e5-4764-8ef5-5d668eee4bbd-image.png

          • 第二关

          SELECT '        chart       ' AS chart UNION ALL
          SELECT '--------------------' AS chart UNION ALL
          SELECT chart FROM (
          SELECT concat (LPAD(js :: TEXT,2,'0'),' ','|',' ',COALESCE (MIN (gou),'  '),' ',COALESCE (MIN (qing),'  '),' ',COALESCE (MIN (kuai),'  '),' ',COALESCE (MIN (lei),'  '),' ') AS chart,LPAD(js :: TEXT,2,'0') seNo FROM (
          SELECT ROW_NUMBER () OVER (PARTITION BY attr ORDER BY attr) js,CASE WHEN attr='国' THEN '国' END gou,CASE WHEN attr='庆' THEN '庆' END qing,CASE WHEN attr='快' THEN '快' END kuai,CASE WHEN attr='乐' THEN '乐' END lei FROM level2) tmp GROUP BY js ORDER BY seNo DESC) tmp UNION ALL 
          SELECT '--------------------' UNION ALL 
          SELECT '     2022-10-01     '
          

          a3028fc2-8fab-486b-a7f8-d8f9da5ba192-image.png

          1 Reply Last reply Reply Quote 1
          • J
            joy last edited by

            第二关
            SQL 脚本:
            WITH zuguowansui AS (
            SELECT concat(LPAD(rn::text, 2, '0'),' ','|',' ',COALESCE(min(guo),' '),' ',COALESCE(min(qing),' '),' ',COALESCE(min(kuai),' '),' ',COALESCE(min(le),' '),' ') as chart,
            LPAD(rn::text, 2, '0'),
            '|',
            min(guo) "国",
            min(qing) "庆",
            min(kuai) "快",
            min(le) "乐"
            FROM (SELECT row_number() OVER (PARTITION BY attr ORDER BY attr) rn,
            CASE WHEN attr = '国' THEN '国' END guo,
            CASE WHEN attr = '庆' THEN '庆' END qing,
            CASE WHEN attr = '快' THEN '快' END kuai,
            CASE WHEN attr = '乐' THEN '乐' END le
            FROM level2) zuguowansui
            GROUP BY rn
            ORDER BY 1 DESC, 2 DESC, 3 DESC, 4 DESC)

            select ' chart ' as biaotou
            union all
            select '--------------------' as fengefuqi
            union all
            SELECT chart
            from zuguowansui
            union all
            select '--------------------' fengefuzhi
            union all
            select ' 2022-10-01 ' guoqingjie

            效果图:
            182d9729-6384-4b76-a823-4ce5fc0fc9d3-image.png

            1 Reply Last reply Reply Quote 1
            • J
              joy last edited by

              -- 第一关
              SQL 脚本:
              select concat(right(attr,2),SUBSTRING(attr,3,2)) guoqingkuaile from level1
              效果图
              0317faa8-2a3d-4932-8233-64969ee2ed65-image.png

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

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • R
                  rui @pekin last edited by

                  @pekin 确实😊 😊

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

                    @rui 哈哈哈哈,这出题人绝对领悟到了羊的精髓了👶 🤡

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

                    R 1 Reply Last reply Reply Quote 0
                    • C
                      caffeine last edited by

                      @admin 在 叮~您有一封国庆SQL闯关邀请函,请查收 中说:

                        2022-10-01
                      

                      第一关:

                      -- 闯关第一关
                      select concat(right(attr,2),SUBSTRING(attr,3,2)) from level1 
                      

                      效果:
                      0ade838f-bc67-4266-bf90-8a5b4181dccf-image.png

                      第二关:

                      -- 闯关第二关
                      -- 闯关第二关
                      WITH d AS (
                          SELECT row_number() OVER (PARTITION BY attr ORDER BY attr) rn,
                                 CASE WHEN attr='国' THEN '国'END gou,
                                 CASE WHEN attr='庆' THEN '庆' END qing,
                                 CASE WHEN attr='快' THEN '快' END kuai,
                                 CASE WHEN attr='乐' THEN '乐'  END lei
                          FROM level2
                      )
                      
                      select concat(lpad(ss."标号",2,'0') ,' | ',ss."国",' ',ss."庆",' ',ss."快",' ',ss."乐")chart from(
                      select cast(row_number() over(order by t."庆" desc) as varchar) "标号",t.* from(
                        SELECT 
                              case when min(gou)='国' then '国' else ' ' end "国",
                               case when min(qing)='庆' then '庆' else ' ' end "庆",
                               case when min(kuai)='快' then '快' else ' ' end "快",
                               case when min(lei)='乐' then '乐' else ' ' end "乐"
                        FROM d
                        GROUP BY rn
                        ORDER BY 国 ASC, 庆 ASC, 快 ASC, 乐 ASC)t)ss
                      union all select '-------------------'
                      union all select '     2022-10-01'
                      
                      
                      

                      效果:
                      1fa27578-0fe0-4de2-8a73-a4aa4f78ec4a-image.png

                      1 Reply Last reply Reply Quote 1
                      • R
                        rui @MemFireDB Robot last edited by rui

                        @memfiredb-robot 加上了

                        更新 新要求

                        03f46fdd-6cfa-4b64-9339-d9f6a2d97b80-680c22ff4b5ba1c6b3fa6720f3e91bc.png

                        验证

                        39fdeb7d-ed08-4626-a1d7-1e73687c27d0-image.png

                        code

                        
                        WITH tmp AS (
                            SELECT concat(LPAD(rn::text, 2, '0'),' ','|',' ',COALESCE(min(gou),'  '),' ',COALESCE(min(qing),'  '),' ',COALESCE(min(kuai),'  '),' ',COALESCE(min(lei),'  '),' ') as chart,
                                   LPAD(rn::text, 2, '0'),
                                   '|',
                                   min(gou)  "国",
                                   min(qing) "庆",
                                   min(kuai) "快",
                                   min(lei)  "乐"
                            FROM (SELECT row_number() OVER (PARTITION BY attr ORDER BY attr) rn,
                                         CASE WHEN attr = '国' THEN '国' END                 gou,
                                         CASE WHEN attr = '庆' THEN '庆' END                 qing,
                                         CASE WHEN attr = '快' THEN '快' END                 kuai,
                                         CASE WHEN attr = '乐' THEN '乐' END                 lei
                                  FROM level2) tmp
                            GROUP BY rn
                            ORDER BY 1 DESC, 2 DESC, 3 DESC, 4 DESC)
                        
                        select '        chart       ' as chart
                        union all
                        select '--------------------' as chart
                        union all
                        SELECT chart
                        from tmp
                        union all
                        select '--------------------'
                        union all
                        select '     2022-10-01     '
                        

                        第一题第二题差这么多 我愿称为关了个关

                        pekin 1 Reply Last reply Reply Quote 0
                        • M
                          MemFireDB Robot @rui last edited by admin

                          @rui 亲~第二关答案格式详参文章中的“命令行下的效果”以及“MemFire Cloud SQL编辑器中的效果”哦~需要包含 表头+柱状图+左侧标尺+时间 哦~

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

                            根据生成的数据,构造一条SQL,输出结果为:国庆快乐

                            select concat(right(attr,2),right(left(attr,4),2)) from level1 ;
                            

                            验证:

                            62cfab20-337f-4ad4-b305-47cb5a4f8cad-image.png

                            根据生成的数据,用一条SQL语句,生成国庆快乐的柱状图,柱状图所表示的“国庆快乐”的字数要与实际生成的数据保持一致:

                            WITH d AS (
                                SELECT row_number() OVER (PARTITION BY attr ORDER BY attr) rn,
                                       CASE WHEN attr='国' THEN '国' END gou,
                                       CASE WHEN attr='庆' THEN '庆' END qing,
                                       CASE WHEN attr='快' THEN '快' END kuai,
                                       CASE WHEN attr='乐' THEN '乐' END lei
                                FROM level2
                            )
                            SELECT min(gou) "国",
                                   min(qing) "庆",
                                   min(kuai) "快",
                                   min(lei) "乐"
                            FROM d
                            GROUP BY rn
                            ORDER BY 1 DESC, 2 DESC, 3 DESC, 4 DESC;
                            

                            验证:

                            9177ec74-a29e-4832-903e-4b58c5b52a3a-image.png

                            M 1 Reply Last reply Reply Quote -1
                            • First post
                              Last post