码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【SQL每日一练】HackerRan-Basic Join-Challenges练习


    文章目录

    • 题目
    • 题析
    • 题解
      • 1.sqlserver


    题目

    编写一个查询来打印 hacker _ id、 name 和每个学生创建的挑战的总数。按照挑战的总数按降序对结果进行排序。如果不止一个学生创建了相同数量的挑战,那么按 hacker _ id 对结果进行排序。如果不止一个学生创建了相同数量的挑战,且计数少于创建的最大数量的挑战,则将这些学生排除在结果之外。
    输入格式:
    下表包含挑战数据: Hackers: hacker _ id 是黑客的 id,name 是黑客的名称。
    在这里插入图片描述
    Challenges: Challenge _ id 是挑战的 id,hacker _ id 是创建挑战的学生的 id。
    在这里插入图片描述


    题析

    据题已知:如果有多个学生的挑战数相同且挑战数不是最大值的话,就排除;则我们可以获取挑战数是最大值的数据或者挑战数计数是等于1的数据

    题解

    1.sqlserver

    代码如下:

    WITH H AS
    (
        SELECT
            h.hacker_id, h.name,
            COUNT(c.challenge_id) AS cnt
        FROM
            hackers AS h
        INNER JOIN
            Challenges AS c
        ON
            h.hacker_id = c.hacker_id
        GROUP BY
            h.hacker_id, h.name
    ), C AS
    (
        SELECT cnt, COUNT(*) AS cot, MAX(cnt) OVER() AS MCT
        FROM H
        GROUP BY cnt
    )
    SELECT
        h.hacker_id,
        h.name,
        h.cnt
    FROM
        H
    INNER JOIN
        C
    ON
        H.cnt = C.cot AND
        (C.cot = 1 OR C.cnt = MCT)
    ORDER BY
        h.cnt DESC,
        h.hacker_id
        
    
  • 相关阅读:
    MySQL学习笔记18
    【漏洞复现】Viessmann Vitogate远程代码执行(CVE-2023-45852)
    数位dp总结
    短出行日渐成熟,电动两轮车迎来下半场
    C_12练习题
    Calendar 求取指定时间 下周一 下一月1号 下一年1月1号 下一季度首月1号
    516. 最长回文子序列
    [庆国庆 迎国庆 发文]云计算的概念
    【服务器】在 Linux CLI 下安装 Anaconda
    如何构建Hive数据仓库Hive 、数据仓库的存储方式 以及hive数据的导入导出
  • 原文地址:https://blog.csdn.net/hsuehgw/article/details/139796168
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号