我建了一个saleitem表格:
Create Table SaleItem/*销售明细表*/
(
   SaleItemID Int, --系统ID 由序列编号
   SaleCode Varchar2(50), --销售单号 销售单表的编号
   CommCode Varchar2(50), --产品编号
   CommName Varchar2(50), --产品名称
   Price Float, --销售单价
   PreferPrice Float, --折扣价
   Unit Varchar2(50), --计量单位
   Num Int , --销售数量
   Subtotal Float, --金额小计
   Note Varchar2(1000) --其他说明
   SaleUpDate Date --更新时间
   discount                                                 折扣
   BigClass Varchar2(50)                                --大类
   SmallClass Varchar2(50)                              --小类
)
然后我往里面插一些数据:时间的格式是 yyyy-MM-dd HH:mm:ss   
然后我现在要根据年份  来取  那一年中每个月的销售总额怎么查? 

解决方案 »

  1.   

    参考:
    select * from SaleItem where to_char(SaleUpDate,'YYYY')=2010
      

  2.   

    select to_char(SaleUpDate,'yyyymm'), sum(Subtotal)
    from SaleItem
    where to_char(SaleUpDate,'yyyy') = 2010
    group by to_char(SaleUpDate,'yyyymm')
      

  3.   

    --直接每个月的总金额
    select to_char(SaleUpDate,'yyyy-mm') SaleUpDate,sum(Subtotal)
    from SaleItem
    where to_char(SaleUpDate,'yyyy')='2009'
    group by to_char(SaleUpDate,'yyyy-mm')
    --每个品种每个月的金额
    select to_char(SaleUpDate,'yyyy-mm'),CommCode,CommName,sum(Price*Num)
    from SaleItem
    where to_char(SaleUpDate,'yyyy')='2009'
    group by to_char(SaleUpDate,'yyyy-mm'),CommCode,CommName