当前位置: 移动技术网 > IT编程>开发语言>Java > Oracle分组,取每个分组的第一条数据

Oracle分组,取每个分组的第一条数据

2020年07月14日  | 移动技术网IT编程  | 我要评论

最近有个有个业务需求(springboot项目集合mybatis):需要查询分组后,取每组的第一条数据(oracle数据库),可以在业务代码中实现,但是过于繁琐,后来查阅oracle的函数,得出仅仅在sql中即可实现,非常简洁,简化代码,sql如下:

SELECT
    *
	FROM
		(
		  SELECT
				t_user.*,
				ROW_NUMBER () OVER (PARTITION BY deptno ORDER BY sal DESC ) rn
		  FROM
				t_user
		)
WHERE
    rn = 1;

over: 在什么条件之上。
partition by deptno: 按部门编号划分(分区)。
order by e.sal desc: 按工资从高到低排序

本文地址:https://blog.csdn.net/weixin_44912883/article/details/107297736

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网