大家好,我有一個名爲DataTable的表,我必須提取每個區域類型的行數。我使用SQL Server 2008 R2的 !這兒,這是表腳本和樣本數據SQL - 我如何找到給定數據集中的最新趨勢
CREATE TABLE DataTable
(Data_NId int, IUSNId int, Area_Name varchar(18), TimePeriod varchar(9), Data_Value int);
INSERT INTO DataTable
([Data_NId], [IUSNId], [Area_Name], [TimePeriod], [Data_Value])
VALUES (74495,133, 'Pashchim Champaran', '2010-2011',73.2), ( (74498,133,'Kishanganj','2010-2011',71.9), (74497,133,'Katihar','2010-2011',75.9), (74498,133,'Saharsa','2010-2011 ',76.9), (74499,133,'Darbhanga','2010-2011',54.4), (74500,133,'Muzaffarpur','2010-2011',82.2), (74501,133' Gopalganj','2010-2011',68.3), (74502,133,'Siwa (74504,133,'Saran','2010-2011',56.4), (74504,133,'Vaishali','2010-2011',81.4), (74505,133,'Khagaria','2010-2011',84.8), (74506,133,'Bhagalpur','2010-2011',62.4), (74507,133,'Munger','2010 (74508,133,'Lakhisarai','2010-2011',67.2), (74509,133,'Sheikhpura','2010-2011',78.5), (74510,133',87.1), (74511,133,'Patna','2010-2011',88.5), (74512,133,'Bhojpur','2010-2011',88 ), (74513,133,'Buxar','2010-2011',69.8), (74514,133,'Rohtas','2010-2011',75.6), (74515,133,'Auran gabad','2010-2011',76.7), (74516,133,'Gaya','2010-2011',67.1), (74517,133,'Nawada','2010-2011',75.6), (74518,133,'Jehanabad','2010-2011',83.7), (74528,133,'Pashchim Champaran','2011-2012',74.1), (74529,133,'Kishanganj',' 2011-2012',82), (74530,133,'Katihar','2011-2012',80), (74531,133,'Saharsa','2011-2012',81.5), (74532, 133B1,'Darbhanga','2011-2012',59.9), (74533,133,'Muzaffarpur','2011-2012',79.4), (74534,133,'Gopalganj','2011-2012', (74535,133,'Siwan','2011-2012',77), (74536,133,'Saran','2011-2012',62.3), (7453 'Vaishali','2011-2012',86.7), (74538,133,'Khagaria','2011-2012',85.9), (74539,133,'Bhagalpur','2011-2012 ',76.9), (74540,133,'Munger','2011-2012',81.4), (74541,133,'Lakhisarai','2011-2012',75.8), (74542,133' 2011-2012',88.7), (74544,133,'Patna','2011-2012',88.4), (74546,133,'Bhojpur','2011-2012',86.4), (74546,133,'Buxar','2011-2012',73.4), (74547,133,'Rohtas','2011 (74548,133,'Aurangabad','2011-2012',75.7), (74549,133,'Gaya','2011-2012',66.3), (74550,133,'Nawada','2011-2012',75.1), (74551,133,'Jehanabad','2011-2012',80.7), (74561,133,'Pashchim Champaran','2012 (74563,133,'Katihar','2012-2013',83.3), (74564,133,'Kishanganj','2012-2013',81.9), (2012年,2013年),87), (74565,133,'Darbhanga','2012-2013',64.4), (74566,133,'Muzaffarpur','2012-2013',83.7 ), (74567,133,'Gopalganj','2012-2013',83。4) (74568,133, '四碗', '2012-2013',76.7), (74569,133, '忠告', '2012-2013',64.9), (74570,133, '費沙' , '2012-2013',78.4), (74571,133,卡加里亞 '' 2012-2013 '87.6), (74572,133,' 帕格爾布爾 '' 2012-2013」,78), ( 74573,133, '芒格', '2012-2013',84.8), (74574,133, '拉基薩賴', '2012-2013',83.5), (74575,133, 'Sheikhpura',「2012-2013 '82.4), (74576,133,' 納蘭達 '' 2012-2013 '76.2), (74577,133,' 巴特那 '' 2012-2013」,89.7), (74578,133,的Bhojpur '' 2012-2013 '86.9), (74579,133,' 布克薩爾 '' 2012-2013 '76.3), (74580,133,' 羅赫達斯, '2012-2013',81.5 ), (74581,133,奧蘭加巴德 '' 2012-2013 '73.3), (74582,133,' 風格 '' 2012-2013」,70.5), (74583,133,納瓦達, '2012-2013',79.2), (74584,133, '傑哈納巴德', '2012-2013',78.4) ;
這就是我想要獲得:
Data_NId IUSNId Area_Name TimePeriod Data_Value P_Cange Trend
74495 133 Pashchim Champaran 2010-2011 73.2 5 P
74496 133 Kishanganj 2010-2011 71.9 -0.1 N
74497 133 Katihar 2010-2011 75.9 3.3 P
74498 133 Saharsa 2010-2011 76.9 5.5 P
74499 133 Darbhanga 2010-2011 54.4 4.5 P
74500 133 Muzaffarpur 2010-2011 82.2 4.3 P
74501 133 Gopalganj 2010-2011 68.3 4.7 P
74502 133 Siwan 2010-2011 73.4 -0.3 N
74503 133 Saran 2010-2011 56.4 2.6 P
74504 133 Vaishali 2010-2011 81.4 -8.3 N
74505 133 Khagaria 2010-2011 84.8 1.7 P
74506 133 Bhagalpur 2010-2011 62.4 1.1 P
74507 133 Munger 2010-2011 87.1 3.4 P
74508 133 Lakhisarai 2010-2011 67.2 7.7 P
74509 133 Sheikhpura 2010-2011 78.5 -2.3 N
74510 133 Nalanda 2010-2011 62.6 7.5 P
74511 133 Patna 2010-2011 88.5 1.3 P
74512 133 Bhojpur 2010-2011 88 0.5 P
74513 133 Buxar 2010-2011 69.8 2.9 P
74514 133 Rohtas 2010-2011 75.6 4.3 P
74515 133 Aurangabad 2010-2011 76.7 -2.4 N
74516 133 Gaya 2010-2011 67.1 4.2 P
74517 133 Nawada 2010-2011 75.6 4.1 P
74518 133 Jehanabad 2010-2011 83.7 -2.3 N
注: - 表結果顯示Data_Value通過選擇任何時間段 但在列(P_Cange,動向)始終計算的最新數據TIMEPERIOD。 我有嘗試這麼多的概念,但沒有什麼工作對我來說,我的最新的想法是,如果我們能爲像短路的最高時間週期的時間週期增加一列是1秒最高的時間段爲2等等......現在 我用這
select *,ROW_NUMBER() OVER (PARTITION BY Area_Name ORDER BY Area_Name, TimePeriod DESC) AS RowNum from DataTable
感謝您的幫助
所以你的意思是,你需要的值,第二最高最高值之間的差異? –
是(最高時間段的數據值) - 以百分比變化 –
(第二高的時間段的數據值)是「第二高值」 _always_小於最高的,或者是他們在降序排列前兩位值,即使他們是平等的嗎?您是否嘗試過什麼?任何研究嗎?任何想法,你使用的是什麼版本的SQL Server的? – HABO