需要弄清楚我在SELECT語句中獲得多天。 它可以工作,如果我只選擇2列(Zip_code和Week)。獲取天氣數據的每週平均數
Zip_Code Week
501 2014-12-29 to 2015-01-04
501 2015-01-05 to 2015-01-11
501 2015-01-12 to 2015-01-18
501 2015-01-19 to 2015-01-25
501 2015-01-26 to 2015-02-01
501 2015-02-02 to 2015-02-08
501 2015-02-09 to 2015-02-15
501 2015-02-16 to 2015-02-22
501 2015-02-23 to 2015-03-01
代碼:
SELECT DISTINCT Zip_Code = postal_code --RIGHT(REPLICATE('0', 5) + CAST(postal_code AS VARCHAR(5)), 5)
,[Week] = CASE DATEPART(dw, Local_date)
WHEN 1 THEN CONVERT(char(10), DATEADD(DD, -6, Local_date),126) + ' to ' + CONVERT(char(10), Local_date,126)
WHEN 2 THEN CONVERT(char(10), Local_date,126) + ' to ' + CONVERT(char(10), DATEADD(DD, 6, Local_date),126)
WHEN 3 THEN CONVERT(char(10), DATEADD(DD, -1, Local_date),126) + ' to ' + CONVERT(char(10), DATEADD(DD, 5, Local_date),126)
WHEN 4 THEN CONVERT(char(10), DATEADD(DD, -2, Local_date),126) + ' to ' + CONVERT(char(10), DATEADD(DD, 4, Local_date),126)
WHEN 5 THEN CONVERT(char(10), DATEADD(DD, -3, Local_date),126) + ' to ' + CONVERT(char(10), DATEADD(DD, 3, Local_date),126)
WHEN 6 THEN CONVERT(char(10), DATEADD(DD, -4, Local_date),126) + ' to ' + CONVERT(char(10), DATEADD(DD, 2, Local_date),126)
WHEN 7 THEN CONVERT(char(10), DATEADD(DD, -5, Local_date),126) + ' to ' + CONVERT(char(10), DATEADD(DD, 1, Local_date),126)
ELSE 'UNK'
END
,[Week_Avg_Temp_F] = ROUND(AVG(CAST(tempAvg_F AS FLOAT)),2)
,[Week_Max_Temp_F] = ROUND(AVG(CAST(tempMax_F AS FLOAT)),2)
,[Week_Min_Temp_F] = ROUND(AVG(CAST(tempMin_F AS FLOAT)),2)
,[Hum_Avg_%] = ROUND(AVG(CAST([relHumAvg_%] AS FLOAT)),2)
,[Hum_Min_%] = ROUND(AVG(CAST([relHumMin_%] AS FLOAT)),2)
,[precip_Inches] = ROUND(AVG(CAST(precip_In AS FLOAT)),2)
,[snowfall_Inches] = ROUND(AVG(CAST(snowfall_In AS FLOAT)),2)
,[Avg_Wind_Speed_MPH] = ROUND(AVG(CAST(windSpdAvg_MPH AS FLOAT)),2)
FROM [Weather_Data].[dbo].[Weather_Data_2015]
GROUP BY postal_code, Local_date
ORDER BY zip_code, Week
如果我選擇所有列,我得到了同樣的郵政編碼天的多個條目。
Zip_Code Week Week_Avg_Temp_F Week_Max_Temp_F Week_Min_Temp_F Hum_Avg_% Hum_Min_% precip_Inches snowfall_Inches Avg_Wind_Speed_MPH
501 2014-12-29 to 2015-01-04 47 50 41 98 77 0 0 7
501 2014-12-29 to 2015-01-04 36 46 27 82 59 1 0 7
501 2014-12-29 to 2015-01-04 36 42 31 54 42 0 0 7
501 2014-12-29 to 2015-01-04 33 38 25 48 38 0 0 10
501 2015-01-05 to 2015-01-11 18 24 9 58 37 0 0 13
501 2015-01-05 to 2015-01-11 26 33 18 62 49 0 1 10
501 2015-01-05 to 2015-01-11 14 20 5 55 42 0 0 8
501 2015-01-05 to 2015-01-11 16 22 11 55 44 0 0 6
501 2015-01-05 to 2015-01-11 24 34 11 61 38 0 0 5
501 2015-01-05 to 2015-01-11 19 22 17 70 44 0 0 5
501 2015-01-05 to 2015-01-11 34 47 20 48 34 0 0 13
501 2015-01-12 to 2015-01-18 25 29 18 82 74 0 0 7
501 2015-01-12 to 2015-01-18 33 35 30 87 65 0 0 3
501 2015-01-12 to 2015-01-18 35 45 17 96 87 1 0 5
501 2015-01-12 to 2015-01-18 25 32 20 78 58 0 0 4
501 2015-01-12 to 2015-01-18 21 27 14 62 38 0 0 4
501 2015-01-12 to 2015-01-18 26 34 17 68 50 0 0 7
501 2015-01-12 to 2015-01-18 28 39 19 58 40 0 0 8
有什麼建議?
你的帖子是非常難以密碼,你可以請格式考慮和使用代碼塊轉義通過在每行代碼前添加4個空格。編輯時,幫助你會容易得多。 –
感謝您的編輯。什麼是對帖子進行格式化的最佳方式? – user5495350
我發現這與Round AVG Cast語句有關。平均每天,所以他們有7個條目。 – user5495350