码迷,mamicode.com
首页 > 数据库 > 详细

sql 技巧查询

时间:2019-08-03 15:04:53      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:rac   case   ase   编号   style   ref   strong   htm   href   

  注意: oracle .sql 查询中 用<> 或者 !=null  ,也顺便过滤掉了该字段中所有为null的值。

 

   介绍一种行转列,常见的案例 统计各个公司 各个发票的数量,妙用sum函数,用sum 函数做累计, 如果统计每家公司每种类型的发票量,

通常 按照 按照公司编号,发票类型来分组,但是这样就会出现一家的统计数据在3行,这时就要用到行转列;

   

SELECT
           xhdwmc,
           xhdwdm,
       sum(case when FPLXDM=004 then 1 ELSE 0 end ) zp,
       sum(case when FPLXDM=007 then 1 ELSE 0 end ) pp,
       sum(case when FPLXDM=026 then 1 ELSE 0 end ) dp
       FROM
           bw_fpzxx
       WHERE
           TRUNC(kprq)  = TRUNC(SYSDATE)
       AND LYBZ != 08
       AND XHDWDM != 11010120181019084
       And FPLXDM in(004,007,026)
       GROUP BY
           xhdwdm,
           xhdwmc

       ORDER BY
        xhdwdm

   

Oracle中按连续号码分段

  oracle 连续号码分段,我们如何分组:

  

select min(t.fphm),max(t.fphm) ,count(1), (max(t.fphm)-min(t.fphm)+1)

from 

(select fphm, (fphm-rownum) as tnum

from bw_fpzxx s
where s.XHDWDM=91310101132208081P and s.fplxdm=026

and  s.kprq >= TO_DATE (
    2019-07-01,
    yyyy-mm-dd hh24:mi:ss
)
AND s.kprq <= TO_DATE (
    2019-07-31 23:59:59,
    yyyy-mm-dd hh24:mi:ss
)


order by fphm  ) t

group by t.tnum

 

    

 

sql 技巧查询

标签:rac   case   ase   编号   style   ref   strong   htm   href   

原文地址:https://www.cnblogs.com/caibixiang123/p/11294605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!