首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么查询会显示错误月份的数据?

为什么查询会显示错误月份的数据?
EN

Stack Overflow用户
提问于 2014-04-26 07:21:57
回答 1查看 57关注 0票数 0

我有一个问题:

代码语言:javascript
复制
;with date_cte as(
SELECT r.starburst_dept_name,r.monthly_past_date as PrevDate,x.monthly_past_date as CurrDate,r.starburst_dept_average - x.starburst_dept_average as Average
FROM
(
    SELECT *,ROW_NUMBER() OVER(PARTITION BY starburst_dept_name ORDER BY monthly_past_date) AS rowid
    FROM intranet.dbo.cse_reports_month
) r
JOIN
(
    SELECT *,ROW_NUMBER() OVER(PARTITION BY starburst_dept_name ORDER BY monthly_past_date) AS rowid
    FROM intranet.dbo.cse_reports_month
    Where month(monthly_past_date) > month(DATEADD(m,-2,monthly_past_date))
) x
    ON r.starburst_dept_name = x.starburst_dept_name AND r.rowid = x.rowid+1
    Where r.starburst_dept_name is NOT NULL
)
Select *
From date_cte
Order by Average DESC

因此,在做一些测试时,我更改了一些列数据,以了解为什么它会给我提供某些信息。我不知道为什么当我运行查询时,它给出了一个日期列,而不应该是从“一月”(第4行)开始的,如下图所示:

数据库有更多的数据具有相同的确切日期'2014-01-25 00:00:00.000',所以我不确定为什么它只获取该行并比较平均值?

我是否在运行查询之前更改了该行中的列并更改了日期?但我不确定这是否与此有关。

更新:我已经添加了sqlfinddle,我想让它从last_month中减去平均值--2个月前。它实际上是工作的,直到我进行了更改并更改了数据。我做出这些更改是为了测试特定的情况,这显然会导致了解到查询存在缺陷。

EN

回答 1

Stack Overflow用户

发布于 2014-04-26 07:36:50

基于您的SQL文件夹具,这消除了来自2个月之前的联接的显示。

代码语言:javascript
复制
SELECT
    thismonth.starburst_dept_name
   ,lastmonth.monthtly_past_date [PrevDate]
   ,thismonth.monthtly_past_date [CurrDate]
   ,thismonth.starburst_dept_average - lastmonth.starburst_dept_average as Average
FROM dbo.cse_reports thismonth
inner join dbo.cse_reports lastmonth on
    thismonth.starburst_dept_name = lastmonth.starburst_dept_name
    AND month(DATEADD(MONTH,-1,thismonth.monthtly_past_date))=month(lastmonth.monthtly_past_date)
WHERE MONTH(thismonth.monthtly_past_date)=month(DATEADD(MONTH,-1,GETDATE()))
Order by thismonth.starburst_dept_average - lastmonth.starburst_dept_average DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23304638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档