当前位置: 首页 > news >正文

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

详细解释:

  1. ROW_NUMBER():

    • 这是一个窗口函数,用于为查询结果中的每一行生成一个唯一的行号。
  2. OVER (...):

    • 这是窗口函数的语法部分,用于指定如何计算行号。它可以包括 PARTITION BY 和 ORDER BY 子句。
  3. PARTITION BY MONTH(p.fdate):

    • 这个子句指定了如何将数据分组。PARTITION BY 将结果集分成不同的分区或组,在每个分区内,ROW_NUMBER() 函数将计算行号。
    • 在你的示例中,MONTH(p.fdate) 意味着数据将按月份分组。这意味着每个月的数据都会被单独处理,ROW_NUMBER() 函数会在每个月的数据中生成行号。
  4. 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 作为次级排序条件,确保每个歌曲在播放次数相同的情况下有一个唯一的排序。
  5. AS song_rank:

    • AS 用于为计算出的行号分配一个别名。在你的查询中,这个别名是 song_rank。它表示每首歌在每个月中的排名。

CONCAT()

  1. 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 再就是如何回复出厂,也即如何复位, 详情点这里&#xff…...

【MongoDB】--MongoDB批量操作

目录 一、批量更新 一、批量更新 /*** 批量更新的操作* return*/public int batchUpdate(){List<StudentDo> list new ArrayList<>(); //要修改的一批数据List<Pair<Query, Update>> updateList new ArrayList<>(list.size());BulkOperations …...

数据库常规操作

常用的 SQL 语法和操作&#xff1a; 数据定义语言&#xff08;DDL&#xff09; 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)【响应校验】远场通信服务

本协议栈框架支持校验响应功能&#xff0c;应用添加了响应校验器后&#xff0c;可在ResponseValidationCallback中判断响应是否符合预期&#xff0c;不符合那么框架会抛异常。 开发步骤 导包。 import { rcp } from kit.RemoteCommunicationKit;添加响应校验器并且发起请求。 …...

2024最新!!!iOS高级面试题,全!(二)

iOS应用是如何启动以及如何优化 pre-main阶段 加载动态链接器dyld到App进程 加载动态库&#xff08;包括所依赖的所有动态库&#xff09; Rebase 修正内部的指针指向 Bind 修正外部指针指向 初始化Objective C Runtime 包括oc的类、分类的注册&#xff0c;selector唯一性检查等…...

【C#生态园】构建你的C#操作系统:框架选择与实践

探秘C#操作系统开发框架&#xff1a;从框架选择到实际应用 前言 在当今信息技术高度发达的时代&#xff0c;操作系统开发框架为软件工程师提供了全新的可能性。本文将介绍一系列用于C#的操作系统开发框架&#xff0c;探讨它们的核心功能、使用场景、安装与配置方法以及API概览…...

Leantime容器化部署实战指南:从环境搭建到生产运维

Leantime容器化部署实战指南&#xff1a;从环境搭建到生产运维 【免费下载链接】docker-leantime Official Docker Image for Leantime https://leantime.io 项目地址: https://gitcode.com/gh_mirrors/do/docker-leantime 环境准备&#xff1a;部署前的必要检查 系统兼…...

二次元创作助手:OpenClaw调用Qwen3.5-9B自动生成同人图描述

二次元创作助手&#xff1a;OpenClaw调用Qwen3.5-9B自动生成同人图描述 1. 为什么需要二次元创作自动化&#xff1f; 作为一个长期混迹ACGN圈子的内容创作者&#xff0c;我每天要花费大量时间在Pixiv、微博超话和LOFTER上浏览同人作品。最头疼的莫过于看到一张惊艳的插图却想…...

面向 LLM 的程序设计 3:LLM-Friendly 的响应结构:扁平键、稳定字段与类型标注

在满足能力端点与确定性契约之后&#xff0c;响应长什么样仍会直接影响模型能不能「读对结果、少误解、少编造字段」。本系列继续围绕「让 AI 更好理解、更好调用」&#xff0c;讨论如何把 JSON 响应设计成对模型和后续工具链都更友好&#xff1a;键名稳定、层次尽量扁平、数组…...

Cosmos-Reason1-7B生产环境:港口吊装作业视频力学合理性审计

Cosmos-Reason1-7B生产环境实战&#xff1a;港口吊装作业视频力学合理性审计 1. 项目背景与价值 港口吊装作业是物流运输的核心环节&#xff0c;但也是一个充满风险的场景。吊臂的每一次起降、货物的每一次摆动&#xff0c;背后都涉及复杂的力学原理。传统的安全审计主要依赖…...

EcomGPT-7B电商大模型网络安全应用:智能识别钓鱼商品与欺诈文案

EcomGPT-7B电商大模型网络安全应用&#xff1a;智能识别钓鱼商品与欺诈文案 最近和几个做电商平台的朋友聊天&#xff0c;他们都在头疼同一个问题&#xff1a;平台上的商品和文案越来越“花”&#xff0c;有些商家为了引流&#xff0c;标题和描述写得天花乱坠&#xff0c;甚至…...

谷歌 Gemma 4 部署指南

谷歌 Gemma 4 部署指南 Gemma 4 是 Google DeepMind 于 2026 年 4 月 2 日发布的最新开放权重模型系列,采用 Apache 2.0 许可协议,支持商业用途。该系列模型提供 E2B、E4B、26B A4B(MoE 架构)及 31B(密集架构)四种变体,适用于从移动设备、边缘计算到服务器和工作站的广…...

FLAC转ALAC踩坑实录:除了音质无损,你的专辑封面和元数据都保留了吗?

FLAC转ALAC终极指南&#xff1a;如何无损迁移音质、元数据与专辑封面 每次打开Apple Music看到那些没有封面的专辑&#xff0c;或是艺术家信息显示为"未知"的曲目&#xff0c;总让人有种说不出的别扭。作为一位十年资深的数字音乐收藏者&#xff0c;我深知真正的音乐…...

LongCat动物百变秀效果展示:橘猫变布偶、柯基穿毛衣,AI编辑惊艳案例

LongCat动物百变秀效果展示&#xff1a;橘猫变布偶、柯基穿毛衣&#xff0c;AI编辑惊艳案例 1. 开篇&#xff1a;当AI成为宠物造型师 想象一下这样的场景&#xff1a;你拍了一张自家橘猫的照片&#xff0c;突然想看看它变成高贵布偶猫的样子&#xff1b;或者给柯基犬穿上毛衣…...

Mac开发者必备:OpenClaw+Qwen3.5-9B自动化测试流水线

Mac开发者必备&#xff1a;OpenClawQwen3.5-9B自动化测试流水线 1. 为什么开发者需要本地化CI/CD工具 作为一名长期在Mac上开发的全栈工程师&#xff0c;我一直在寻找一种轻量级的自动化测试方案。传统的Jenkins或GitHub Actions虽然强大&#xff0c;但对于个人项目和小团队来…...

OpenClaw技能开发入门:为Qwen3-14b_int4_awq定制PDF解析模块

OpenClaw技能开发入门&#xff1a;为Qwen3-14b_int4_awq定制PDF解析模块 1. 为什么需要自定义PDF解析技能 去年我在处理一批技术白皮书时&#xff0c;发现OpenClaw内置的文件处理能力对复杂PDF支持有限。当我想让AI助手自动提取PDF中的表格数据并生成摘要时&#xff0c;系统总…...