A table named Profits stores the total profit made each year within a territory. The Profits table hascolumns
named Territory, Year, and Profit. You need to create a report that displays the profits made by each territory
for each year and its preceding year. Which Transact-SQL query should you use?
A.
SELECT Territory, Year, Profit,
LAG(Profit, 1, 0) OVER(PARTITION BY Year ORDER BYTerritory) AS NextProfit
FROM Profits
B.
SELECT Territory, Year, Profit,
LAG(Profit, 1, 0) OVER(PARTITION BY Territory ORDER BY Year) AS NextProfit
FROM Profits
C.
SELECT Territory, Year, Profit,
LEAD(Profit, 1, 0) OVER(PARTITION BY Territory ORDER BY Year) AS NextProfit
FROM Profits
D.
SELECT Territory, Year, Profit,
LEAD(Profit, 1, 0) OVER(PARTITION BY Year ORDER BY Territory) AS NextProfit
FROM Profits
Explanation:
Verified answer as correct.
Reference: http://msdn.microsoft.com/en-us/library/hh231256.aspx
Reference: http://msdn.microsoft.com/en-us/library/hh213125.aspx
Answer is C
Answer is B. Preceding year for 2014 is 2013 so you use LAG
Answer is C becuase of the alias “NextProfit”
Interesting 🙂 Ehab has a point.
🙂 he is very skilled
preceding year = the year before, so B is the correct one
B
https://msdn.microsoft.com/en-IN/library/hh231256.aspx
the answer is B,
because it’s ‘order by year’,
it was ascending!!!!!!
the data will be like this:
2012
2013
2014
2015
so you need use lag function!!!
B ( lag will get you previous record, and it is ordered asc)