sql刷题常用函数
ROW_NUMBER()
ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...) 是一个窗口函数,用于生成每个分组内的唯一行号。这个函数非常适合在分组数据中进行排序,并为每一行分配一个序号。下面是对你的具体示例的详细解释:
ROW_NUMBER() OVER (PARTITION BY MONTH(p.fdate)ORDER BY COUNT(p.user_id) DESC, s.song_id
) AS song_rank
详细解释:
-
ROW_NUMBER():- 这是一个窗口函数,用于为查询结果中的每一行生成一个唯一的行号。
-
OVER (...):- 这是窗口函数的语法部分,用于指定如何计算行号。它可以包括
PARTITION BY和ORDER BY子句。
- 这是窗口函数的语法部分,用于指定如何计算行号。它可以包括
-
PARTITION BY MONTH(p.fdate):- 这个子句指定了如何将数据分组。
PARTITION BY将结果集分成不同的分区或组,在每个分区内,ROW_NUMBER()函数将计算行号。 - 在你的示例中,
MONTH(p.fdate)意味着数据将按月份分组。这意味着每个月的数据都会被单独处理,ROW_NUMBER()函数会在每个月的数据中生成行号。
- 这个子句指定了如何将数据分组。
-
ORDER BY COUNT(p.user_id) DESC, s.song_id:- 这个子句定义了在每个分区内如何对行进行排序,然后为每行分配行号。
COUNT(p.user_id) DESC:首先按COUNT(p.user_id)的降序进行排序。COUNT(p.user_id)是每首歌曲在特定月份的播放次数,这样播放次数最多的歌曲会排在前面。s.song_id:在播放次数相同的情况下,按s.song_id进行升序排序。这里s.song_id作为次级排序条件,确保每个歌曲在播放次数相同的情况下有一个唯一的排序。
-
AS song_rank:AS用于为计算出的行号分配一个别名。在你的查询中,这个别名是song_rank。它表示每首歌在每个月中的排名。
CONCAT()
-
CONCAT(ROUND(COUNT(l.overdue_days) / COUNT(*) * 100, 1), '%') AS overdue_ratio:COUNT(l.overdue_days):计算每个支付能力等级中有逾期记录的贷款数。COUNT(*):计算每个支付能力等级中所有贷款的总数。COUNT(l.overdue_days) / COUNT(*):计算逾期贷款占所有贷款的比例。* 100:将比例转换为百分比。ROUND(..., 1):将计算出的百分比四舍五入到小数点后一位。CONCAT(..., '%'):将四舍五入后的百分比与%符号连接起来,生成如25.5%的格式。AS overdue_ratio:给计算出的百分比结果指定别名overdue_ratio。
相关文章:
sql刷题常用函数
ROW_NUMBER() ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...) 是一个窗口函数,用于生成每个分组内的唯一行号。这个函数非常适合在分组数据中进行排序,并为每一行分配一个序号。下面是对你的具体示例的详细解释: ROW_NUMBER() OVER (…...
Golang | Leetcode Golang题解之第417题太平洋大西洋水流问题
题目: 题解: type pair struct{ x, y int } var dirs []pair{{-1, 0}, {1, 0}, {0, -1}, {0, 1}}func pacificAtlantic(heights [][]int) (ans [][]int) {m, n : len(heights), len(heights[0])pacific : make([][]bool, m)atlantic : make([][]bool, …...
Acwing Hash表
哈希表的作用:把一个比较大的空间,通过一个函数映射到一个比较小的空间 一般做哈希运算时,取一个质数作为模,会使得冲突的概率降低。 哈希表的冲突解决方法: 拉链法开放寻址法 下面详细介绍这两种方法的原理及其实现…...
大健康裂变分销小程序开发
大健康裂变分销小程序的开发是一个涉及技术、市场策略、用户体验和合规性等多个方面的综合项目。这类小程序旨在通过分销机制促进大健康产品的销售和品牌推广,同时利用社交网络的裂变效应扩大市场影响力。以下是大健康裂变分销小程序开发的主要步骤和考虑因素&#…...
js取出一个对象中指定的字段(封装公共方法)
需求:在一个对象里面挑选出所需要的一个或多个字段 例子:在{ a: 1, b: 2, c: 3, d: 4 }里面挑选出b和d字段 封装公共方法 const pick (obj, keys) > {return Object.keys(obj).filter(key > keys.includes(key)).reduce((result, key) > {if …...
【黑马点评】已解决java.lang.NullPointerException异常
Redis学习Day3——黑马点评项目工程开发-CSDN博客 问题发现及描述 在黑马点评项目中,进行到使用Redis提供的Stream消息队列优化异步秒杀问题时,我在进行jmeter测试时遇到了重大的错误 发现无论怎么测试,一定会进入到catch中,又由…...
计算机专业的就业方向
计算机专业的就业方向 亲爱的新生们,欢迎你们踏上计算机科学的旅程!作为一名计算机专业的学生,你们即将进入一个充满无限可能的领域。今天,我将为大家介绍计算机专业的一些主要就业方向,帮助你们了解未来的职业选择。…...
VSCode C++ Tasks.json中的变量
前言 上文介绍了在VSCode中创建C项目和编译多文件的情况。本文将介绍Tasks.json中一些变量的含义; 内容 tasks.json文件 下文参考VSCode文档:Visual Studio Code 变量参考 预定义标量 ${userHome} - 用户主文件夹的路径${workspaceFolder} - 在 VS Co…...
第一次安装Pytorch
1、新版本的Anaconda内置的python版本是3.12, 目前 Windows 上的 PyTorch 仅支持 Python 3.8-3.11;不支持 Python 2.x。 1、创建运行环境 在不创建虚拟环境的情况下,不建议使用最新的Python和Anaconda。 在几次失败后,我使用的是Anaconda3-2…...
Python数据分析-Steam 收入排名前 1500 的游戏
一、研究背景 随着全球数字化进程的加速,电子游戏产业已成为全球娱乐产业的重要组成部分,吸引了越来越多的资本与消费者关注。特别是基于互联网的游戏平台,如Steam,已成为全球范围内发行和销售游戏的重要渠道。Steam平台不仅为玩…...
Android14请求动态申请存储权限
Android14请求动态申请存储权限 Android14和Android15存储权限有增加多了选择部分,还是全部。一个小小的存储权限真的被它玩出了花来。本来Android13就将存储权限进行了3个细分,是图片,音频还是视频文件。 步骤一:AndroidManife…...
Doris:数据库建表最佳实践
目录 一、表模型推荐归约 二、字段推荐归约 三、建表推荐归约 四、建表强制归约 五、最佳实践 Doris 数据表模型上目前分为三类:DUPLICATE KEY, UNIQUE KEY, AGGREGATE KEY。因为数据模型在建表时就已经确定,且无法修改。所以,选择一个合…...
Parallels Desktop 20(Mac虚拟机) v20.0.0 for Mac 最新破解版(支持M系列)
Parallels Desktop 20 for Mac 正式发布,完全支持 macOS Sequoia 和 Windows 11 24H2,并且在企业版中引入了全新的管理门户。 据介绍,新版本针对 Windows、macOS 和 Linux 虚拟机进行了大量更新,最大的亮点是全新推出的 Parallels…...
【已解决】华为AR100-S路由器 恢复出厂后,找不到5G wifi的设置
前两帖讨论了华为AR100-S路由器: 一是用电脑浏览器访问web管理界面报错的解决,详情点这里! https://blog.csdn.net/weixin_62598385/article/details/142215136 再就是如何回复出厂,也即如何复位, 详情点这里ÿ…...
【MongoDB】--MongoDB批量操作
目录 一、批量更新 一、批量更新 /*** 批量更新的操作* return*/public int batchUpdate(){List<StudentDo> list new ArrayList<>(); //要修改的一批数据List<Pair<Query, Update>> updateList new ArrayList<>(list.size());BulkOperations …...
数据库常规操作
常用的 SQL 语法和操作: 数据定义语言(DDL) 1.创建数据库CREATE DATABASE database_name;2.删除数据库DROP DATABASE database_name;3.创建表CREATE TABLE table_name (column1 datatype constraints,column2 datatype constraints,...);4.删…...
基于STM32设计的水渠闸门远程控制系统(华为云IOT)(226)
文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成【4】ESP8266工作模式配置1.2 设计思路【1】整体设计思路【2】整体构架【3】上位机开发思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要1.4 开发工具的选择【1…...
鸿蒙开发(NEXT/API 12)【响应校验】远场通信服务
本协议栈框架支持校验响应功能,应用添加了响应校验器后,可在ResponseValidationCallback中判断响应是否符合预期,不符合那么框架会抛异常。 开发步骤 导包。 import { rcp } from kit.RemoteCommunicationKit;添加响应校验器并且发起请求。 …...
2024最新!!!iOS高级面试题,全!(二)
iOS应用是如何启动以及如何优化 pre-main阶段 加载动态链接器dyld到App进程 加载动态库(包括所依赖的所有动态库) Rebase 修正内部的指针指向 Bind 修正外部指针指向 初始化Objective C Runtime 包括oc的类、分类的注册,selector唯一性检查等…...
【C#生态园】构建你的C#操作系统:框架选择与实践
探秘C#操作系统开发框架:从框架选择到实际应用 前言 在当今信息技术高度发达的时代,操作系统开发框架为软件工程师提供了全新的可能性。本文将介绍一系列用于C#的操作系统开发框架,探讨它们的核心功能、使用场景、安装与配置方法以及API概览…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
