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

MYSQL order 、group 与row_number详解

一、order by

order by A ASC, B DESC,C ASC …

上述语句会先按照A排序,当A相同的时候再按照B排序,当B相同的再按照C排序,并会不按照ABC组合一起排序

二、group by

group by A,B,C…

select 中的字段必须是group by中的字段,但是聚合函数中的参数字段没有必须出现在 group by中

select A , B ,count(*) from t1 group by A,B,C
select A , B ,C,count(*) from t1 group by A,B,C
select A , B ,count(C) from t1 group by A,B,C
# 语法错误,应该使用having
select A , B ,count(C) as countABC  from t1  where countABC >3  group by A,B,C
select A , B ,count(C) as countABC  from t1  having countABC >3  group by A,B,C select A , B ,count(C) from t1 group by A,B,Cselect A ,count(*) from t1 group by A 与 select A ,count(A) from t1 group by A 
与 
select A ,count(B) from t1 group by A  效果一致select A ,count(distinct B) from t1 group by A 
与
select A ,B,count(*) from t1 group by A ,B 效果一致select A ,sum(B) from t1 group by A 
select A ,max(B) from t1 group by A 
select A ,min(B) from t1 group by A 

三、row_number 窗口排名函数

row_number() over ( [partition by column] order by order_expression [asc|desc]) as ranking
该方法常用于排名、连续登陆数统计,部门业绩排名

row_number 无并列排名,强制连续序号 例如 1,2,3
rank 允许并列排名,后续序号不连续 例如 1,1,3
dense_rank() 允许并列排名,后续序号连续 例如 1,1,2

count(*) 统计所有行数,包括NULL
count(column) 统计column字段非NULL的行数

http://www.dtcms.com/a/207269.html

相关文章:

  • 操作系统期末复习(三)——内存管理
  • C#在 .NET 9.0 中启用二进制序列化:配置、风险与替代方案
  • TDengine 高可用——三副本
  • C 语言学习笔记(指针3)
  • Qt C++实现马的遍历问题
  • python 打卡DAY27
  • Vue3项目无法在IE浏览器运行
  • 内存泄漏修复示例
  • 101个α因子#27
  • 第4周_作业题_逐步构建你的深度神经网络
  • C++静态成员变量与对象生命周期解析
  • 前端学习笔记——Promis.All
  • HarmonyOS:帧率和丢帧分析实践
  • 齿轮,链轮,同步轮,丝杆传动sw画法
  • 十进制转二进制
  • Intel oneAPI对OpenCL 的支持
  • kafka在线增加分区副本数
  • OpenCV CUDA 模块图像过滤------创建一个高斯滤波器函数createGaussianFilter()
  • 【计算机网络 第8版】谢希仁编著 第五章运输层 题型总结1 UDP和TCP报文格式
  • 基于labview的声音采集与存储分析系统
  • python绘制股票K线
  • sockaddr结构体详解
  • 学习日记-day13-5.22
  • Python中accumulate方法
  • MySQL三种备份方式介绍
  • AI价值的冰与火之歌:企业数字化转型的迷雾与曙光
  • 探索微分方程的领域及AI推理
  • knife4j使用
  • MySQL中实现大数据量的快速插入
  • 华为仓颉语言如何进行交叉编译