sql统计 本期 ,上期 ,去年同期 数据

原创 2007年10月12日 17:18:00

1.测试数据表

申报征收信息表SB_ZSXX

序号             税种              税额          入库日期

XH            ZSXM_DM         SE              RKRQ

1                01                   1000           2007-8-23

2                01                    500            2007-7-23

3                 01                   700            2006-8-23

ok..我们现在要统计本月入库税额,上期(上月)入库税额,去年同期(去年同月)入库税额

sql查询结果类似下面

ZSXM_DM           本期                 上期                   去年同期

01                        1000                 500                   700

 

二。查询sql

这里主要使用case when,来构造新列

统计3期税额

select       zsxm_dm,

case when rkrq      <to_date('2007-09-01','YYYY-MM-DD')      and rkrq >=to_date('2007-08-01','YYYY-MM-DD') then se end bq,---本期

case when rkrq      <to_date('2007-08-01','YYYY-MM-DD')      and rkrq >=to_date('2007-07-01','YYYY-MM-DD') then se end sq,---上期

case when rkrq      <to_date('2006-09-01','YYYY-MM-DD')      and rkrq >=to_date('2006-08-01','YYYY-MM-DD') then se end      qntq       --去年同期

from sb_zsxx

 

当然,我们还可以按税种(zsxm_dm)分组(group by)求和

select       zsxm_dm,

sum(case    when rkrq      <to_date('2007-09-01','YYYY-MM-DD')      and rkrq >=to_date('2007-08-01','YYYY-MM-DD') end)bq,---本期

sum(case when rkrq      <to_date('2007-08-01','YYYY-MM-DD')      and rkrq >=to_date('2007-07-01','YYYY-MM-DD') end) sq,---上期

sum(case when rkrq      <to_date('2006-09-01','YYYY-MM-DD')      and rkrq >=to_date('2006-08-01','YYYY-MM-DD') end) qntq---去年同期

from sb_zsxx

group by      zsxm_dm

 

大家可以看到,case when的功能是很强大的,灵活的运用他,可以使我们的统计查询简化很多。

如后笔误。请谅解。

 

关于飞机射击类游戏的设计原理 (加入时间:2001-3-4)

作者:尹龙水平有限,请别见怪:)   众所周知,飞机射击类游戏几乎是我们接触到的第一类计算机游戏,不论是在街机中还是在计算机中,这一类游戏都是非常容易上手和招人喜爱的。就算是在这个即时战略游戏、3D第...
  • ghj1976
  • ghj1976
  • 2001-04-25 18:16:00
  • 1975

ORACLE 获取同期数据的两种方法

首先,创建一些test_table的测试表,这个表有三个字段,分别为区域,年月和数量。 sql语句如下: create table TEST_TABLE(   Region varchar2(2...
  • Java_0605
  • Java_0605
  • 2015-02-25 15:21:47
  • 2553

用PLSQL查询Oracle数据库某字段的本年数,上年同期数,同比

使用分析函数:偏移量函数 偏移量函数:Lag(exp,N,defval) over(PARTITION BY region order by year) Lag函数为Lag(exp,N,defval)...
  • langdeyouhuoyouhuo
  • langdeyouhuoyouhuo
  • 2015-01-28 11:48:32
  • 1325

SQL语句实现上期比统计实例

使用润乾的客户可以通过位移坐标实现,上期比、同期比等数据的计算,但当其授权文件中没有位移坐标的功能点的时候,实现起来就比较困难了,通常建议客户在SQL中计算得出。 下面就是通过SQL语句计算出上期比的...
  • RQlyc
  • RQlyc
  • 2016-11-23 17:40:42
  • 351

sql统计 本期 ,上期 ,去年同期 数据

1.测试数据表申报征收信息表SB_ZSXX序号             税种              税额          入库日期XH            ZSXM_DM         SE...
  • zfmsa
  • zfmsa
  • 2007-10-12 17:18:00
  • 1302

SQL 求同比 环比

一、要求 1、表结构如下: ID  DepartName(部门) Sales(销售量) SalesDate(销售日期) 1      营销一部       300              20...
  • gslzydwgh
  • gslzydwgh
  • 2017-02-26 11:24:13
  • 2477

计算今年和去年的时间,一个月的都是,用来计算同比

/** * 计算今年和去年的时间 * @param year * @param month * @return */ public List getTime(String ye...
  • qq_29347295
  • qq_29347295
  • 2017-09-20 17:43:15
  • 256

同步/异步(同期/非同期)

进程同步用来实现程序并发执行时候的可再现性。 一.进程同步及异步的概念 1.进程同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一...
  • JCRunner
  • JCRunner
  • 2015-06-05 08:36:04
  • 1573

Oracle如何根据一个日期计算同比环比的日期

iamlaosong文 在写统计查询的SQL语句时,经常会碰到根据一个查询日期推演其它日期的问题,如同比、环比等。 1、字符串转换成日期:to_date('2016-6-16', 'yyyy-mm-d...
  • iamlaosong
  • iamlaosong
  • 2016-06-17 10:55:55
  • 3740

sql复杂实例

from:http://www.wzsky.net/html/Program/DataBase/35200.html 1.查询语句的使用      使用 select语句和子查询(subquery)可...
  • basycia
  • basycia
  • 2016-08-06 09:32:07
  • 3466
收藏助手
不良信息举报
您举报文章:sql统计 本期 ,上期 ,去年同期 数据
举报原因:
原因补充:

(最多只允许输入30个字)