oracle 分组排序:

这个麻烦:
SELECT * FROM (
     SELECT deptno, ename, sal, ROW_NUMBER()    OVER (PARTITION BY deptno ORDER BY sal DESC     ) Top3 FROM emp
)
WHERE Top3 <= 3

开窗函数也ok:代码简单点:
 where 1=1 and status=2
JOIN( select pid,min(id) as id from T_PRODUCT group by pid) firstp ON firstp.id=p.id

mybatis应用:
 where 1=1 and status=2
JOIN( select pid,min(id) as id from T_PRODUCT  WHERE STATUS=2 and LIFESTATUS &gt; 0 group by pid) firstp ON firstp.id=p.id

分组最大最小:

min()/max() over(partition by  pid order by id)

分组分页:

-- 使用ROW_NUMBER分页,查找第1-10条数据

SELECT T.custid,T.companyname,T.address,T.city FROM 
(
    SELECT ROW_NUMBER() OVER(ORDER BY custid) AS rownum,custid,companyname,address,city FROM Sales.Customers
) AS TWHERE T.rownum BETWEEN 1 AND 10

促销选择商品应用例子:
SELECT pp.*,PA.*
    FROM (select t.* from (
  select p.id,p.productcode,p.introduce,p.delivery_address,p.reason,p.catalogID,p.name,p.picture,p.price,p.nowPrice,
     p.isnew,p.sale,p.hit,p.title,p.createAccount,to_char(p.createtime,'yyyy-MM-dd hh24:mi:ss') createtime,
     to_char(p.updatetime,'yyyy-MM-dd hh24:mi:ss') updatetime,
     b.between_price AS areaprice,
     p.status,p.sellcount,b.stock,p.giftID,p.images,
     (SELECT name FROM T_CATALOG cat WHERE cat.ID=p.CATALOGID) as catalogname,
       (SELECT unit FROM T_CATALOG cat WHERE cat.ID=p.CATALOGID) as unit,
     p.pid,p.packlisting,p.productplace,
     b.COUNTPID countpid,DENSE_RANK() OVER(ORDER BY p.pid) AS mrownum
  from t_product p
 
     join (select * from between_price_view  where area_id ='331946' OR (area_id =0)  ) b on b.pid=p.pid   
       where 1=1    
     order by p.updatetime desc,p.id 
    ) t   where mrownum  <= 0+20
  ) pp   
    
LEFT JOIN (
SELECT * FROM (select productid,area_id,price from T_PRICE_AREA)  
   PIVOT (
          sum(price)      
          FOR area_id
          IN  (331518,331946,333168)  
        )) pa  ON pa.PRODUCTID = pp.id
     where pp.mrownum >10

oracle分组排序相关推荐

  1. oracle 分组排序 update,oracle分组排序

    oracle 分组排序: 这个麻烦: SELECT * FROM ( SELECT deptno,ename,sal,ROW_NUMBER() OVER (PARTITION BY deptno OR ...

  2. ORACLE分组排序后获取第一条和最后一条值

    ORACLE分组排序后获取第一条和最后一条值 参考链接 实践 后记 参考链接 ORACLE分组排序后获取第一条和最后一条值 实践 wx_user的手机号有部分有问题,发生了串登录.原本一个用户对应一个 ...

  3. Oracle 分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况: 1.要求取出按field1分组后,并在每组中按照field2排序: 2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  4. oracle 分组排序后取第一条_关于oracle中位图索引的探讨:概念、原理、优缺点...

    概述 oracle索引主要分为以下几种: 1. b-tree索引 Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名.CREATE INDEX语句时, ...

  5. oracle 分组排序

    select t.*,row_number() over(partition by PROJ_ID order by SHOP_CODE) row_number from CQ_CIVIL_WORK_ ...

  6. Oracle 分组排序函数详解 (row_number、rank、dense_rank)

    文章目录 1 概述 2 分类 2.1 排序函数 2.2 分组子句 1 概述 1. 完整格式(1) row_number() over(partition by 列1 order by 列2) 2. 三 ...

  7. Oracle分组排序查询

    用sql查询每个分组中amount最大的前两条记录: SELECT * FROM HW tr WHERE (SELECT COUNT(*) FROM HW WHERE tr.DEPID=DEPID A ...

  8. oracle求和分组排序,oracle中分组排序函数用法 - 转

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  9. list对oracle结果集排序了_详解SQL窗口函数和分组排序函数

    Mysql从8.0版本开始,也和Sql Server.Oracle一样支持在查询中使用窗口函数,本文将根据官方文档,通过实例介绍窗口函数并举例分组排序函数的使用. 英语好的大佬请移步官方文档~点我! ...

最新文章

  1. Microsoft Dynamics CRM 前瑞开发
  2. ERROR: Could not install packages due to an EnvironmentError: [Errno 13] 权限不够的解决办法
  3. [js]promise学习2
  4. java基于springboot校园餐厅订餐管理系统附源码
  5. linux批量修改文件编码格式(包含子目录)
  6. 二层交换机与三层交换机交换原理
  7. Domain=DDXMLErrorDomain Code=1 (null)
  8. 【环境】NVIDIA驱动安装+cuda11.0(ubuntu16.04)
  9. java实现浏览器下载excel文件
  10. E1. Divisible Numbers (easy version)(数学)
  11. 安装mysql_python
  12. 判定重大风险有哪几种_安全风险分为哪几个等级
  13. iOS的键盘种类(不同的键盘布局)
  14. AMBER:对单个复合物进行分子动力学模拟的python包(resp计算电荷及gpu加速版本)
  15. 解读2022中国城市大脑首批三项标准(新版)
  16. java毕业设计飞机航班信息查询系统演示视频2021源码+系统+数据库+lw文档+调试运行
  17. 树的概念:层次、高度、深度、宽度
  18. linux neo4j 教程,Neo4j 入门教程 - 安装
  19. ACM模式输入输出攻略 | C++篇
  20. (转)js的编码成gb2312的编码函数(URLEncode)

热门文章

  1. Linxu内核模块开发入门(金荣的第一篇个人技术博客)
  2. 泛域名PHP,泛域名实现无限二级域名功能
  3. java创建node类型数据类型_[Java教程]js DOM Node类型
  4. 15g1和g2和g3区别大吗_河南成人高考和普通高考的区别有哪些?成人高考难度会越来越大吗?...
  5. 2004年c语言试题2,C语言试题(2004~2005第2学期)A重修
  6. 电商退货处理流程_多个退货单
  7. ajax怎样获得表头信息,layui.table动态获取表头和列表数据示例
  8. oracle siplugincol表,ORACLE 经常使用的命令工具-第三章:表
  9. ricker 子波matlab,毕设求助!!!雷克子波合成地震信号
  10. java 异常何时抛出_何时适合抛出异常?