• SQL 按年,月,日统计相关函数


    说明:

    统计每月下组织每天费用记录

    表:MemberMoney  

    字段   Id   主键

              用户Id varchar(50)

              OnOrgId 所在单位 varchar(50)

              RealPay 金额 decimal(18,2)

              PayDate 缴费时间 datetime

              AddYear 年 int

              PayMonth 月 int

              PayType 缴费方式 int(0,在线支付 ;1,现金)

     select p.* ,o.ShortName as OnOrgName from (  
       select a.*,ISNULL(b.OnlineFee,0) OnlineFee,ISNULL(c.CashFee,0) CashFee from (  
       select OnOrgID,cast( cast(year(PayDate) as varchar) +'-'+cast(month(PayDate) as varchar) +'-'+cast(day(PayDate) as varchar) as date) as Pdate,sum(RealPay) as Pmoney from MemberMoney 
        where AddYear=2020 and PayMonth=9 and PayDate is not null and OnOrgID=''  group by OnOrgID,year(PayDate),month(PayDate),day(PayDate) )a  
        left join  
         ( select OnOrgID,cast( cast(year(PayDate) as varchar) +'-'+cast(month(PayDate) as varchar) +'-'+cast(day(PayDate) as varchar) as date) as Pdate,
         sum(RealPay) as OnlineFee 
         from MemberMoney  where AddYear=2020 and PayMonth=9 and PayDate is not null and OnOrgID='' and PayType=0  group by OnOrgID,year(PayDate),month(PayDate),day(PayDate) 
         )b  
         on a.OnOrgID=b.OnOrgID   and a.Pdate=b.Pdate
         left join  
          ( select OnOrgID,cast( cast(year(PayDate) as varchar) +'-'+cast(month(PayDate) as varchar) +'-'+cast(day(PayDate) as varchar) as date) as Pdate,sum(RealPay) as CashFee from MemberMoney  
          where AddYear=2020 and PayMonth=9 and PayDate is not null  and OnOrgID='' and PayType=1  group by OnOrgID,year(PayDate),month(PayDate),day(PayDate)
           )c  
    
        on a.OnOrgID=c.OnOrgID   and a.Pdate=c.Pdate
         
     ) p left join Base_Organize o on p.OnOrgID=o.OrganizeId order by pdate
     
    ISNULL 判断是否为NULL ,为NULL赋值0
    cast(字段 as varchar) 例 int 转 string

    year(PayDate) 得到年
    month(PayDate)得到月
    day(PayDate)得到天



  • 相关阅读:
    WPF 策略模式
    老陈 WPF
    老陈 ASP.NET封装
    小石头 封装
    典型用户故事
    整数的四则运算
    对git的认识
    如何学习计算机
    团队编程二——web应用之人事管理系统
    团队编程——web应用之人事管理系统
  • 原文地址:https://www.cnblogs.com/qingjiawen/p/14241463.html
Copyright © 2020-2023  润新知