SQLserver如何查询近12个月数据,,还要区分今年和去年数据

SQL server如何查询近12个月数据  不要写死,还要区分今年和去年数据


SELECT

'合同金额' AS 合同金额,

inputtime,

CONTRACTSUM 

FROM

(

SELECT CONVERT

( VARCHAR ( 7 ), [INPUTTIME], 120 ) AS INPUTTIME,

SUM ( CONTRACTSUM ) AS CONTRACTSUM 

FROM

DBO.ONCONTRACT 

WHERE

DATEDIFF( MONTH, INPUTTIME, GETDATE( ) ) <= 12 

GROUP BY

CONVERT ( VARCHAR ( 7 ), [INPUTTIME], 120 ) 

) AS A 

ORDER BY

2

image.png


用户K0035705 发布于 2020-11-9 13:32 (编辑于 2020-11-9 15:47)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
张洪威Lv6高级互助
发布于2020-11-9 13:36(编辑于 2020-11-9 15:26)
where  DATEDIFF(MONTH,日期,getdate())<=12


SELECT

'合同金额' AS 合同金额,

inputtime,

        CASE WHEN LEFT(INPUTTIME,4)=LEFT(GETDATE(),4) THEN '今年' WHEN LEFT(INPUTTIME,4)=LEFT(GETDATE(),4) -1 THEN '去年' ELSE '其他'  END,

CONTRACTSUM 

FROM

(

SELECT CONVERT

( VARCHAR ( 7 ), [INPUTTIME], 120 ) AS INPUTTIME,

SUM ( CONTRACTSUM ) AS CONTRACTSUM 

FROM

DBO.ONCONTRACT 

WHERE

DATEDIFF( MONTH, INPUTTIME, GETDATE( ) ) <= 12 

GROUP BY

CONVERT ( VARCHAR ( 7 ), [INPUTTIME], 120 ) 

) AS A 

ORDER BY

2


最佳回答
0
指间沙Lv6中级互助
发布于2020-11-9 13:38
  • 3关注人数
  • 975浏览人数
  • 最后回答于:2020-11-9 15:47
    请选择关闭问题的原因
    确定 取消
    返回顶部