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

高级 SQL 技巧:提升数据查询与分析能力

一、窗口函数(Window Functions)

窗口函数是一种特殊的 SQL 函数,它能够对一组行进行计算,而不需要将这些行聚合为单个输出行。窗口函数通常与 OVER 子句一起使用,定义一个窗口,即一组行的集合。

1. 排名函数

  • ROW_NUMBER():为每一行分配一个唯一的序号,序号在窗口内是连续的。
  • RANK():为每一行分配一个排名,如果存在相同的值,则排名会跳过(例如,1, 1, 3)。
  • DENSE_RANK():与 RANK() 类似,但排名不会跳过(例如,1, 1, 2)。
-- 查询学生考试成绩,并按成绩排名
SELECT student_id, score, RANK() OVER (ORDER BY score DESC) AS rank
FROM exam_scores;

2. 分配函数

  • NTILE(n):将窗口内的行划分为 n 个大致相等的组,并为每一行分配一个组号
-- 将学生按成绩分为四组
SELECT student_id, score, NTILE(4) OVER (ORDER BY score) AS quartile
FROM exam_scores;

3. 聚合函数

  • SUM()AVG()MIN()

http://www.kler.cn/a/473923.html

相关文章:

  • 点击底部的 tabBar 属于 wx.switchTab 跳转方式,目标页面的 onLoad 不会触发(除非是第一次加载)
  • 从零开始:使用VSCode搭建Python数据科学开发环境
  • Sprint Boot教程之五十:Spring Boot JpaRepository 示例
  • python学习笔记—14—函数
  • Nginx:Stream模块
  • Windows 系统中的任务管理器是什么,打开快捷键是什么?
  • 202305 青少年软件编程等级考试C/C++ 一级真题答案及解析(电子学会)
  • 消息队列架构、选型、专有名词解释
  • 更改Endnote在word中的字体输出样式、段落格式问题等
  • git自用指南
  • 比较procfs 、 sysctl和Netlink
  • 202312 青少年软件编程等级考试C/C++ 一级真题答案及解析(电子学会)
  • 免费网站源码下载指南:如何安全获取并降低开发成本
  • QoS质量配置
  • R语言统计分析——Logistic回归
  • 网络安全-web渗透环境搭建-BWAPP(基础篇)
  • Linux双端口服务器:端口1的文件系统目录挂载到端口2
  • 基于物联网技术的电动车防盗系统设计(论文+源码)
  • stm32u5串口点灯
  • deepin 技术双周报丨 deepin 25 集中 bug 修复、启动 x86 更多设备适配...
  • # LeetCode Problem 2038: 如果相邻两个颜色均相同则删除当前颜色 (Winner of the Game)
  • excel精简使用工具
  • Kafka-go语言一命速通
  • 专家系统和混合专家系统区别;FedMix和FedMoE 区别联系
  • 【剑指Offer刷题系列】数据流中的中位数
  • 【HTML+CSS+JS+VUE】web前端教程-6-图片路径详解