简单:分组 - (在今年内)

时间:2013-06-27 15:22:22

标签: sql

我正在使用 MS Access ,我遇到了一个我确定有一个简单修复的问题,但我找不到它。我原来有查询的第一列返回日期的“YY-WW”,但这与我的排序搞混了。所以我决定今年只使用“WW”。但是,我在今年使用Group By返回记录时遇到了麻烦。

这是我的代码:

SELECT DATEPART("ww",Total.Dated) AS Week,

Sum(Total.SplitTrailers) AS SplitTrailers, Sum(Total.NonSplitTrailers) AS NonSplitTrailers, 
Sum([Total].[SplitTrailers]+[Total].[NonSplitTrailers]) AS TotalTrailers, 

FORMAT(IIf( [SplitTrailers]<=0,0, [SplitTrailers]/([SplitTrailers]+[NonSplitTrailers])), "Percent") AS [% Frame Dock]

FROM Total
GROUP BY DATEPART("ww",Total.Dated) 

如果有人能说出如何仅返回今年的记录或如何按“YY-WW”格式化的日期进行排序,我将非常感激。

谢谢!

2 个答案:

答案 0 :(得分:1)

SELECT DATEPART("ww",Total.Dated) AS Week,

Sum(Total.SplitTrailers) AS SplitTrailers, Sum(Total.NonSplitTrailers) AS NonSplitTrailers, 
Sum([Total].[SplitTrailers]+[Total].[NonSplitTrailers]) AS TotalTrailers, 

FORMAT(IIf( [SplitTrailers]<=0,0, [SplitTrailers]/([SplitTrailers]+[NonSplitTrailers])), "Percent") AS [% Frame Dock]

FROM Total where Year(Total.Date)=Year(GetDate())--this will return the current year data
GROUP BY DATEPART("ww",Total.Dated)

答案 1 :(得分:0)

你能不只是添加一个WHERE子句?

SELECT 
    DATEPART("ww",Total.Dated) AS Week,
    Sum(Total.SplitTrailers) AS SplitTrailers, 
    Sum(Total.NonSplitTrailers) AS NonSplitTrailers, 
    Sum([Total].[SplitTrailers]+[Total].[NonSplitTrailers]) AS TotalTrailers, 
    FORMAT(IIf( [SplitTrailers]<=0,0, [SplitTrailers]/([SplitTrailers]+[NonSplitTrailers])), "Percent") AS [% Frame Dock]
FROM Total
WHERE Year(Total.Dated) = Year(Date())
GROUP BY DATEPART("ww",Total.Dated)