Sql 确定提取日期
我有一个SQL查询,它根据用户可以选择的时间段提取数据,用户可以根据自己需要的日期手动更改日期,是否可以修复这段时间,就像我们提取数据时,我们将有过去三个月的数据来修复过去三个月的数据一样,这是询问是否有人可以帮助我,请:Sql 确定提取日期,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个SQL查询,它根据用户可以选择的时间段提取数据,用户可以根据自己需要的日期手动更改日期,是否可以修复这段时间,就像我们提取数据时,我们将有过去三个月的数据来修复过去三个月的数据一样,这是询问是否有人可以帮助我,请: SELECT ROW_NUMBER() OVER (partition by ptf_id ORDER BY sum(isnull([pnr_count],0)) desc) as id ,[coresitecode] ,[sitecod
SELECT
ROW_NUMBER() OVER (partition by ptf_id ORDER BY sum(isnull([pnr_count],0)) desc) as id
,[coresitecode]
,[sitecode]
,ptf_id
,sum(isnull([pnr_count],0)) TOTAL_PNRs
,sum(isnull([child_pnr_count],0)) TOTAL_child_PNRs into #pnr_by_site_and_platform
FROM
[SWAT_V2_PLL].[rpt].[PNR_per_site_daily] pnr
inner join ctrl.PTF_Platform ptf on pnr.ptf_id = ptf.uid
where
DAY_id >= 20150701 -- time period you need to consider YYYYMMDD
and DAY_id <= 20150901 -- end of PERIOD
and ptf_label in ('AETMEU1EUR', 'AETMEU2EUR', 'AETMAPASIA', 'AETMUSAMER')
group by
[coresitecode]
,[sitecode]
,ptf_id
order by
TOTAL_PNRs desc
-- ordered PNRs ....
select ptf_id, id , coresitecode, sitecode, TOTAL_PNRs
from #pnr_by_site_and_platform order by ptf_id, TOTAL_PNRs desc
选择
(按ptf_id划分,按sum(isnull([pnr_count],0))desc)作为id的行数()
,[coresitecode]
,[网站代码]
,ptf_id
,总和(isnull([pnr\u count],0))总pnr
,求和(isnull([child_pnr_count],0))按站点和平台将子pnr总计为pnr
从…起
[SWAT_V2_PLL].[rpt].[PNR_每个站点每天]PNR
pnr.PTF\u id=PTF.uid上的内部连接ctrl.PTF\u平台PTF
哪里
DayyId>=20150701——需要考虑YYYYMMD的时间段
还有DAY_id我的快速评论
...DAY_id BETWEEN
CONVERT(INT,CONVERT(CHAR(8), DATEADD(MONTH, -3, GETDATE()), 112)) AND
CONVERT(INT,CONVERT(CHAR(8), GETDATE(), 112))
GETDATE()
是今天,DATEADD
是加-3个月(换句话说,从今天减去3个月。CONVERT(CHAR(8),…,112)是转换为
YYYYMMDD,最后
CONVERT(INT,…)`是将字符串转换为整数
转换文档:
这个问题有一些关于计算前一周/月的第一天/最后一天等的详细信息
关于我的快速评论
...DAY_id BETWEEN
CONVERT(INT,CONVERT(CHAR(8), DATEADD(MONTH, -3, GETDATE()), 112)) AND
CONVERT(INT,CONVERT(CHAR(8), GETDATE(), 112))
GETDATE()
是今天,DATEADD
是加-3个月(换句话说,从今天减去3个月。CONVERT(CHAR(8),…,112)是转换为
YYYYMMDD,最后
CONVERT(INT,…)`是将字符串转换为整数
转换文档:
这个问题有一些关于计算前一周/月的第一天/最后一天等的详细信息
假设DAY\u id
是一个INT
那么在转换(INT,CONVERT(CHAR(8),DATEADD(MONTH,-3,GETDATE()),112))和转换(INT,CONVERT(CHAR(8),GETDATE(),112))之间类似DAY\u id
是的,它是一个整数,谢谢你的帮助,但是如果我想改变周期,我应该只改变-3、@mateos-你是对的,你需要改变参数(在-3的位置)来改变周期假设DAY\u id
是一个INT
然后类似于DAY\u id的东西(INT,CONVERT(CHAR(8),DATEADD(MONTH,-3,GETDATE()),112))和CONVERT(INT,CONVERT(CHAR(8),GETDATE(),112))
是的,它是一个INT,谢谢你的帮助,但是如果我想计算周期,我应该只更改,-3、@mateos-你是对的,你需要更改参数(在-3的位置)改期