0
我的表如下取頂部1的記錄,比較多個記錄基於過濾條件
UserID PreSalary ExpSalary TotalExp NoticePeriod
1 1000 2500 2 30
2 1700 5000 2.6 60
3 8200 10000 5.9 15
4 3000.5 6000.75 4 20
我想比較所有以第一名的成績排和取前1條具有最靠近第一值記錄。
我使用SQL Server 2008版和我查詢的嘗試是,
Select * from #tbl GROUP by UserID ,PreSalary ,ExpSalary ,TotalExp,NoticePeriod Having (MAX(TotalExp) = (Select top 2 TotalExp from #tbl ) ,MIN(PreSalary) = (Select top 2 PreSalary from #tbl) )
預期的輸出是
UserID PreSalary ExpSalary TotalExp NoticePeriod
2 8200 10000 5.9 15
說明: 最後3行的PreSalary用戶ID 2勝相比, 比較ExpSalary UserId的最後3行2勝, 比較TotalExp的最後3行UserId 3勝, 比較前3個r NoticePeriod UserId 3ows
如果在兩個用戶標識之間發生聯繫,那麼TotalExp和NoticePeriod會被賦予優先級。 So USerID 3勝
任何幫助,將不勝感激。謝謝
什麼是預期的結果? –
根據以上數據,你期望輸出什麼? –
爲什麼跟最後3行比較? –