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

窗口函数row_number() OVER()对每个组内的行按照特定条件进行编号

Oracle或PostgreSQL中, row_number() OVER()是一个窗口函数,用于为查询结果集中的每一行分配一个唯一的行号,这是基于该行在排序后的结果集中所处的位置。这个函数特别适用于分组聚合数据时,需要对每个组内的行按照特定条件进行编号

语法:

ROW_NUMBER() OVER (
[PARTITION BY column1, column2 ...]
ORDER BY sort_column1 [ASC|DESC], sort_column2 [ASC|DESC] ...
)


PARTITION BY子句可选,用于将数据分为多个分区(每个分区内部独立计数),常用于按分组计算行号。
ORDER BY指定了排序依据,确定行号的顺序。

例如:

select user_id, user_name, dept_id FROM t_user t

where t.dept_id in('1910','1734','2891') ORDER BY dept_id;

SELECT user_id, user_name, dept_id,

ROW_NUMBER() OVER (PARTITION BY dept_id ORDER BY user_id DESC) as rank

FROM t_user t

where t.dept_id in('1910','1734','2891');


 

相关文章:

  • 免布线视频桩:智慧城市停车降本增效的破局利器
  • 《循序渐进linux》
  • AWS IoT Core与MSK集成实战:打造高可靠实时IoT数据管道
  • 【C++设计模式之Strategy策略模式】
  • 学习心得《How Global AI Policy and Regulations Will Impact Your Enterprise》Gartner
  • 文本框碰撞测试
  • C++AVL树
  • 访问网页的全过程(分步骤的详细解析)
  • 通过Linux系统服务管理IoTDB集群的高效方法
  • C++ -- string
  • C++:求分数序列和
  • 强化学习PPO算法学习记录
  • 【Pandas】pandas DataFrame clip
  • GET请求如何传复杂数组参数
  • 使用oracle goldengate同步postgresql到postgresql
  • Eclipse SWT 1 等比缩放
  • Web端项目系统访问页面很慢,后台数据返回很快,网络也没问题,是什么导致的呢?
  • 文件包含2
  • OpenCV的 ccalib 模块用于自定义标定板的检测和处理类cv::ccalib::CustomPattern()----函数calibrate
  • 火山引擎火山云主推产品
  • 面对非专业人士,科学家该如何提供建议
  • 韩国前国务总理韩德洙加入国民力量党
  • 央行:货币与物价的关系受多重因素影响,提振物价的关键在于扩大有效需求
  • 850亿元!2025年中央金融机构注资特别国债(一期)拟第一次续发行
  • 重视体重管理,筑牢健康基石
  • 印巴战火LIVE丨印巴互相发动无人机袭击,巴官员称两国已在国安层面接触