美文网首页
oracle分组查询后取得前n数据

oracle分组查询后取得前n数据

作者: zhangxu0636 | 来源:发表于2016-08-22 10:24 被阅读195次
select t.name1,t.name2,t.zx
from (select row_number()over(partition by name1 order by zx desc)rn, test.* from test)t
where t.rn=1;

上面的代码的意思就是呢,我们利用partition进行分组,类似于group by,可以对多个列进行分组,然后我们将其对trest表进行一一匹配,最后我们进行筛选我们所需要的结果,这里面我们的n代表了1.
还有我们要注意的是,已经对row_num根据指定字段进行排序了以后,我们的row_num已经与数据进行了绑定,所以在进行选择表中的数据的时候,不用再进行排序。

相关文章

  • oracle分组查询后取得前n数据

    上面的代码的意思就是呢,我们利用partition进行分组,类似于group by,可以对多个列进行分组,然后我们...

  • Oracle分组查询

    我现在对你的喜欢,比昨天多一点点,比明天少一点点; 分组查询主要使用的是group by语句。技巧:可以吧sele...

  • Oracle分组查询

    分组取最大值 select * from 表 where (序号,名称) in (select max(序号),名...

  • Oracle分组查询

    分组查询,且只取每一组内的一条最新的记录 需求:查询 code 为a,b,c且在有效时间段内的每个code最新的一...

  • sql + python 天下无敌

    1,oracle as 前加'' as 后不加'' 2,oracle 前n行用rownum 3,pandas 分类...

  • group by和having

    自我理解:未分组前,是 行 为单位group by分组后,是 组 为单位 既然group by分组了,oracle...

  • Oracle数据库学习整理(一)

    Oracle 基础知识 查询数据 本节将学习如何从Oracle数据库中查询数据。 ●Select语句-演示如何查询...

  • Spark SQL 分组后取 top n 问题的解决方法

    背景介绍 遇到一个需求,用 Spark SQL 查询每个分组的前 top n 个数据。由于一开始不知道 Spark...

  • SQL 分组查询取前N条

    平手友梨奈 一、创建测试数据 二、按name分组取val最大的值所在行的数据 本人推荐使用1,3,4,结果显示1,...

  • MySql分组查询前N条记录

    Sql语句 SQL语句解析

网友评论

      本文标题:oracle分组查询后取得前n数据

      本文链接:https://www.haomeiwen.com/subject/fziwsttx.html