码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 手撕sql面试题:根据分数进行排名,不使用窗口函数



     


             分享一道面试题:

            有一个分数表id 是该表的主键。该表的每一行都包含了一场考试的分数。Score 是一个有两位小数点的浮点值。
            以下是表结构和数据:

    Create table Scores (

    id int(11) NOT NULL AUTO_INCREMENT, 

    score DECIMAL(3,2),

    PRIMARY KEY (`id`)

    );

             查询并对分数进行排序。排名按以下规则计算:

    分数应按从高到低排列。

    如果两个分数相等,那么两个分数的排名应该相同。

    在排名相同的分数后,排名数应该是一个连续的整数。

            以下是示例数据:

     

             根据以上示例数据计算出排名,写出SQL语句不能使用dense_rank和over开窗函数:

    思路:1.复制一张scores表
               2.然后查询a.score <= b.score 的数据
               3.分组之后使用count函数计算当前id对应排名
               4.最后排序即可

    1. SELECT a.id,a.score, COUNT(DISTINCT b.score) 'rank'
    2. FROM scores a, scores b
    3. WHERE a.score<=b.score
    4. GROUP BY a.id
    5. ORDER BY a.score DESC

     附上使用窗口函数的sql吧!!

    1. SELECT id,score, DENSE_RANK() OVER (
    2. ORDER BY score desc
    3. ) as 'rank'
    4. FROM scores
    5. group by id
    6. order by score desc

    执行结果:

            



    感谢各位的观看,创作不易,能不能给哥们来一个点赞呢!!!

    好了,今天的分享就这么多了,有什么不清楚或者我写错的地方,请多多指教!

    私信,评论我呗!!!!!! 

    关注我下一篇不迷路哦!

  • 相关阅读:
    30二叉树-了解二叉树
    【LINUX】Linux最常用的20个基本指令 介绍~分析
    Secure Boot原理和高通芯片Secure Boot原理
    网站前端页面SEO优化
    什么是死锁、定位和修复
    【Linux篇<Day14>】——SELinux、破解root密码、防火墙firewall、服务管理systemd
    Java_FileIO流
    聊一聊安全且正确使用缓存的那些事 —— 关于缓存可靠性、关乎数据一致性
    《联邦学习实战—杨强》之使用Python从零开始实现一个简单的横向联邦学习模型
    LearnOpenGL(四)之纹理
  • 原文地址:https://blog.csdn.net/hhR888888/article/details/138159403
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号