2015-09-29 52 views
1

我試圖在過去10個月中按星期總結表中的數據。表中唯一的字段以DD-MM-YY格式列出日期。有沒有簡單的方法來將這些數據分組幾個星期?SQL從天定義星期

+0

請添加您試過的代碼直到現在 –

+0

日期和字符串函數往往是特定於實現的。請用適當的DBMS標記您的問題。另外,請提供示例表結構,以便我們知道您正在使用的數據類型。如果您想要特定的答案,則抽樣日期和預期結果也會很有用。 – Turophile

+0

嗨,我的回答對你有幫助嗎?如果是的話,請投票和/或標記爲接受,thx! – Shnugo

回答

1

你可以嘗試像這樣(與SQL Server進行測試):

只需將此代碼粘貼到一個空的查詢窗口,然後執行。適應您的需求。

DECLARE @tbl TABLE(DateValue VARCHAR(8),OtherValue INT); 
INSERT INTO @tbl VALUES 
('30-09-15',10) 
,('29-09-15',20) 
,('28-09-14',30) 
,('28-08-14',10) 
,('27-08-14',10); 


SELECT CONVERT(DATETIME,DateValue,3) AS ConvertedDate 
     ,DATEPART(WK,CONVERT(DATETIME,DateValue,3)) AS WeekIndex 
     ,OtherValue 
FROM @tbl 

--And this is the way to use this for aggregates 
;WITH MyData AS 
(
    SELECT CONVERT(DATETIME,DateValue,3) AS ConvertedDate 
      ,DATEPART(ISO_WEEK,CONVERT(DATETIME,DateValue,3)) AS WeekIndex 
      ,OtherValue 
    FROM @tbl 
) 
SELECT WeekIndex,SUM(OtherValue) 
FROM MyData 
GROUP BY WeekIndex 
相關問題